我在使用自动布局和UICollectionView时遇到了困难。我有一个垂直的UICollectionVIewFlowLayout,它包含两种不同类型的单元格,如下图所示:
SingleCard单元格包含带图像的子视图(UIImageView)。 HorizList单元格包含子视图,该子视图是水平UICollectionView(缩略图照片列表)。两种细胞类型的高度如下:
SingleCard:单元格的宽度应与屏幕宽度相同。 高度应该是动态的UIImageView的高度(保持图像的比例,并使其填充屏幕宽度,无论设备大小)
HorizList:高度不变,比如200分。
我在CollectionViewController中的尝试是
override func viewDidLoad() {
...
let layout = collectionView?.collectionViewLayout as! UICollectionViewFlowLayout
layout.estimatedItemSize = CGSize(width: 200.0, height: 235.0)
}
我这样做是为了获得两个单元格的内在大小。然后我没有实现
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
完全没有。
我的问题是,我在
中实施了什么override var intrinsicContentSize: CGSize {
??
}
两种不同的细胞类型?也许这不是我唯一需要做的事情,如果是这样的话我会感激额外的提示。 谢谢! / OLA