我在另一个帖子上看到了这个问题,但是答案并不令人满意。
我有一个视图控制器,其中有几个集合视图,为此,我可以使用情节提要完美调整其单元格的大小。但是,特别是有一个集合视图,我需要手动调整大小,因此我加入了该方法:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
我要完成的工作是对所有集合视图(最后一个视图)覆盖或忽略此方法。
我尝试使用另一篇文章中建议的以下代码,但在运行时崩溃:
if collectionView != interestsCollectionView {
return self.collectionView(collectionView, layout: UICollectionViewLayout(), sizeForItemAt: IndexPath(item: 0, section: 0))
}
关于如何实现此目标的任何想法?
答案 0 :(得分:1)
我猜是
return self.collectionView(collectionView, layout: UICollectionViewLayout(), sizeForItemAt: IndexPath(item: 0, section: 0))
将多次递归调用同一方法,导致循环崩溃,加上如果您实现了此方法sizeForItemAt
,那么您还必须为其他集合返回一个值,如{{1 }}这里if
可能永远不会受到编译器逻辑的打击,所以您可能会这么做
if collectionView != interestsCollectionView