CollectionViewCell
中的CollectionView
很少。单击按钮后,我需要调整选定的CollectionViewCell
高度。请帮忙。
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 2)
{
CGFloat h = self.collectionView.contentSize.height;
if (isExpandedAboutUs && indexPath.row == 0)
{
return CGSizeMake(ScreenW, h);
}
return CGSizeMake(ScreenW, 100);
}
}
self.collectionView.contentSize.height
将返回CollectionView
的高度。我需要选择的单元格内容大小。
答案 0 :(得分:1)
您可以在选择单元格时尝试以下代码:
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let cell = collectionView.cellForItem(at: indexPath)
let contentSize = cell?.contentView.bounds.size
print(contentSize)
}
如果要从其他方法获取大小,则可能需要找到单元格选择的索引路径并相应地传递索引路径。喜欢:
func yourMethod() {
let selectedIndexPath = IndexPath(item: 0, section: 0) //get your indexpath here
let cell = collectionView?.cellForItem(at: selectedIndexPath)
let contentSize = cell?.contentView.bounds.size
print(contentSize)
}
根据打印语句,您为contentSize获得的值与您在sizeForItemAtIndexPath方法中返回的大小相同。