全高的 UICollectionView,允许自动布局动态宽度?

UICollectionView with full height, allow autolayout dynamic width?

我需要创建的 UICollectionView 单元格具有全高但动态宽度以适合 UIImageView 的图像。 UIImageView 的约束等于单元格 (contentView)。我已经阅读了 中的动态高度,所以我的问题是:"Is the AutoLayout allow autolayout dynamic width ?" .

据我所知,UICollectionView 不会自动处理宽度。 但是,您可以通过委托轻松设置宽度。我建议你参考这个 post : Dynamic cell width of UICollectionView depending on label width

它是 UILabels 而不是 UIImageViews 但方法应该类似,使用 UIImage 大小 属性 而不是 NSString 的 sizeWithAttributes。

编辑:经过一些测试后发现 UICollectionView 确实以与自动高度相同的方式自动处理单元格宽度。所以委托是没有必要的。 (有关详细信息,请参阅 this tutorial

但是,如果图像不能立即可用(例如远程获取),那么您应该等到所有图像都下载完毕,然后再显示集合。否则,您需要在显示每张图像后使布局无效,这可能会导致视觉故障。