我里面有 VC 和一个 collectionView。所有管理 Collection View 的代码我都放在那个 VC 的扩展中。但现在我需要在另一个不同的 VC 中使用这个 Collection View ,我不想复制/粘贴这个扩展。我试过将 UICollectionView 子类化,但它不会在内部调用委托(delegate)/数据源方法。这是我的扩展程序的签名:
func scrollViewDidEndDecelerating(scrollView: UIScrollView)
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
以及一些私有(private)函数和属性。如果我想经常重用它们,我应该把所有这些方法放在哪里?
最佳答案
您应该将所有这些逻辑放入单独的 VC 中并重用该 VC,而不仅仅是尝试重用 Collection View 。
因此,只要您需要此 Collection View 的“副本”,您实际上都会添加一个子 VC 并将该 VC 中的 View 添加为 subview 。
关于ios - 复用 collectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37457452/