我有一个UICollectionViewCell,动态调整大小并使用自动布局。
- (CGSize) collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
// Force cell layout and take auto layout height
[self configureCell:_sizingCell forIndexPath:indexPath];
return [_sizingCell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
}
这适用于调整大小但宽度占用太多空间。我需要根据屏幕尺寸强制对此进行宽度约束,然后让自动布局从那里计算出高度。我该如何正确地做到这一点?我需要这个在iOS 7和iOS 8中工作。
答案 0 :(得分:-1)
如果尚未将细胞的前缘和后缘约束到集合视图的左右边缘。这使细胞具有固定的宽度。高度比较棘手。单元格中的所有标签必须具有0的行高并设置为自动换行 - 您通常不希望截断字符串或缩小字体大小。接下来,确保所有项目都是垂直约束的,但不要给它们固定的高度。这将允许它们垂直生长,只要它们垂直约束到它们上方和下方的控件,就应该得到你想要的效果。