我有2个集合视图,一个集合视图使用sizeForItemAt来更改单元格的大小,而其他集合视图不应该使用该方法。
我的问题是如何禁用/阻止其他集合视图使用sizeForItemAt方法。
答案 0 :(得分:1)
如果您的目标是识别受sizeForItemAt
方法影响的集合视图,则只需使用===
运算符即可。
示例:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
if collectionView === firstCollectionView {
// here it should returns the desired size
return CGSize(width: ..., height: ...)
}
// here it should returns the default size
return CGSize(width: ..., height: ...)
}
或(较短的版本):
return collectionView === firstCollectionView ? CGSize(width: ..., height: ...) : CGSize(width: ..., height: ...)
答案 1 :(得分:0)
将以下代码放在单元格大小方法
中func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
//return CGSize.init(width: self.view.frame.width / 3 - 30, height: self.view.frame.width / 3 - 30)
if collectionView == myfirstCollectionview
{
//For FirstCollectionView
return CGSize.init(width: 90, height: 90)
}
else
{
//For SeondCollectionView
return CGSize.init(width: 90, height: 90)
}
}