集合视图第一个单元格大小问题
Collection view first cell size issue
我必须根据我的 api 回复隐藏 uicollectionview 的一些单元格。
我根据我的 json 响应值在 collectionview 的 sizeForItemAtIndexPath 方法中将单元格大小设置为零。
但即使在将大小设置为零后,第 0 个索引处的单元格始终可见。
我无法过滤掉数组中的数据。我需要该数据进行某些操作。
我的 UICollectionView 数据源方法。
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 5
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 5
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! testCell
cell.lblTest.text = "\(indexPath.item)"
return cell
}
我的流程布局委托方法。
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
if (indexPath.section == 0 && indexPath.item == 0) || (indexPath.section == 1 && indexPath.item == 0){
return CGSize(width: 0, height: 0)
}
return CGSize(width: 50, height: 50)
}
预期结果是 0 和 1 部分中第 0 个索引处的单元格被隐藏但仍显示。
你要设置成接近于0的数字,比如0.1、0.01。
您不应该通过尝试将大小设置为 0 来执行此操作。如果将其设置为 0,底层代码会将其读取为尝试自动为您调整大小(这就是将其设置为较小值的原因 close 到 0 看起来几乎可以工作了)。您实际上想要做的只是调整您的数据源。因此,当它询问项目数量时 return 没有您想要隐藏的项目的数量,而 cellForItem 应该只考虑该项目不存在。
我必须根据我的 api 回复隐藏 uicollectionview 的一些单元格。
我根据我的 json 响应值在 collectionview 的 sizeForItemAtIndexPath 方法中将单元格大小设置为零。
但即使在将大小设置为零后,第 0 个索引处的单元格始终可见。
我无法过滤掉数组中的数据。我需要该数据进行某些操作。
我的 UICollectionView 数据源方法。
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 5
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 5
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! testCell
cell.lblTest.text = "\(indexPath.item)"
return cell
}
我的流程布局委托方法。
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
if (indexPath.section == 0 && indexPath.item == 0) || (indexPath.section == 1 && indexPath.item == 0){
return CGSize(width: 0, height: 0)
}
return CGSize(width: 50, height: 50)
}
预期结果是 0 和 1 部分中第 0 个索引处的单元格被隐藏但仍显示。
你要设置成接近于0的数字,比如0.1、0.01。
您不应该通过尝试将大小设置为 0 来执行此操作。如果将其设置为 0,底层代码会将其读取为尝试自动为您调整大小(这就是将其设置为较小值的原因 close 到 0 看起来几乎可以工作了)。您实际上想要做的只是调整您的数据源。因此,当它询问项目数量时 return 没有您想要隐藏的项目的数量,而 cellForItem 应该只考虑该项目不存在。