复用 collectionView
Reusing collectionView
我有 VC 和里面的 collectionView。所有管理集合视图的代码我都放在 VC 的扩展中。但是现在我需要在另一个不同的 VC 中使用这个集合视图,我不想 copy/paste 这个扩展。我试过将 UICollectionView 子类化,但它不会在内部调用 delegate/datasource 方法。这是我的分机签名:
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
以及一些私有函数和属性。如果我想经常重用它们,我应该把所有这些方法放在哪里?
您应该将所有这些逻辑放入一个单独的 VC 中并重用 VC,您不仅仅是在尝试重用集合视图。
因此,无论您在何处需要此集合视图的 'copy',您实际上都会添加子视图 VC 并将 VC 中的视图添加为子视图。
我有 VC 和里面的 collectionView。所有管理集合视图的代码我都放在 VC 的扩展中。但是现在我需要在另一个不同的 VC 中使用这个集合视图,我不想 copy/paste 这个扩展。我试过将 UICollectionView 子类化,但它不会在内部调用 delegate/datasource 方法。这是我的分机签名:
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
以及一些私有函数和属性。如果我想经常重用它们,我应该把所有这些方法放在哪里?
您应该将所有这些逻辑放入一个单独的 VC 中并重用 VC,您不仅仅是在尝试重用集合视图。
因此,无论您在何处需要此集合视图的 'copy',您实际上都会添加子视图 VC 并将 VC 中的视图添加为子视图。