问题描述
我只是不熟悉Xcode中的自动布局。当我为页眉堆栈视图,底部堆栈视图或它们之间的图像设置尾随和前导约束时,单元格的大小(高度/宽度)将发生变化。为什么会发生,如何避免呢?我认为我构建布局的那种方式不合适。非常感谢您的帮助。
我使用以下代码设置单元格大小:
extension MainVC: UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeforItemAt indexPath: IndexPath) -> CGSize {
let height = view.frame.size.height
let width = view.frame.size.width
return CGSize(width: width * 0.42,height: height * 0.3)
}
}
我的单元格布局:
这是我使用约束作为底部堆栈视图时应用程序的外观。
这是无约束的底部堆栈视图(正确的单元格大小)。
解决方法
单元格现在可以使用自动布局自动调整大小,而忽略您在collectionView(_:layout:sizeForItemAt:)
中返回的内容。如果要使用collectionView(_:layout:sizeForItemAt:)
,请在情节提要中将Estimate size
更改为None
。
https://stackoverflow.com/a/58369142/14351818