UICollectionViewFlowLayout 委托 insetForSectionAt 从未调用
Posted
技术标签:
【中文标题】UICollectionViewFlowLayout 委托 insetForSectionAt 从未调用【英文标题】:UICollectionViewFlowLayoutDelegate insetForSectionAt never called 【发布时间】:2017-02-10 11:19:47 【问题描述】:swift3
我需要使用UICollectionViewDelegateFlowLayout
的一些optional
方法,但是永远不会调用下面的方法。
insetForSectionAt
optional public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets
由于UICollectionViewDelegateFlowLayout
继承自UICollectionViewDelegate
- 我需要做的就是分配collection'sView
委托:
self.collectionView.delegate = self.delegate
请注意,其他一切都可以正常工作,并且会调用 sizeForItem
或 cellForItem
等方法。
【问题讨论】:
和这个***.com/questions/41182854/…比较 这些答案对我来说似乎没有用 -> “实现自定义流布局类” => 不,你不必这样做。或者他们建议支持 flowDelegateProtocol => 但没关系,它只是用于编译器 你现在需要实现它,尝试实现UICollectionViewDelegateFlowLayout
它肯定会工作。
【参考方案1】:
请确定你是否在你的类中实现了 UICollectionViewDelegateFlowLayout,如下所示:
class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout
//...your code here
【讨论】:
你不是说没有调用方法吗? 这很奇怪,但可以正常工作,我会回答但也接受你的回答以上是关于UICollectionViewFlowLayout 委托 insetForSectionAt 从未调用的主要内容,如果未能解决你的问题,请参考以下文章