[英]Storyboard view(iphone 4/5/6) layout effecting collection cell size (programmatically set)
我已经设置了一个带有Stack View的故事板,其中包含一组标签,每个标签都与特定部分有关。 在这堆标签下面运行一个集合视图,其项目单元格大小取决于它正上方的标签。
即,第一列的单元格大小的宽度和高度以编程方式设置为其正上方标签的宽度。
我通过以下方式实现这一目标:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {}
问题是,返回的标签的宽度,
label.bounds.width
等于故事板“查看为:”当前打开,而不是模拟器运行。
即
如果我的故事板是“查看为:iphone 7”,并且我的模拟器正在运行iphone 5,则返回的标签宽度相当于iPhone 7中标签宽度的宽度。但是如果模拟器匹配“查看为:”在故事板中,一切都适用于任何设备。
设置了所有约束,标签堆栈和集合视图调整大小,而不管任何iphone / ipad。 只是单元格宽度似乎是问题。
我刚刚开始ios开发,所以我可能不太熟悉这些如何影响彼此。
如果有人遇到类似的问题,我通过以下方式在我的项目中解决了这个问题:
// collectonViewOutlet is an outlet to the collection view I am working
// with
override func viewWillLayoutSubviews() {
collectionViewOutlet.reloadData()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.