繁体   English   中英

约束不适用于UICollectionView

[英]Constraints don't work on UICollectionView

在我的应用程序中,有三个“ UICollectionViews ”。 如果我为它们设置constraints ,它们会使事情变得奇怪... UICollectionViews融合在一起,并且仅显示其中一个,并且当屏幕更大时(iPad / iPhone +), UICollectionViewCells不会拉伸。

在“ UICollectionViews ”上使用约束时,有什么特别的考虑吗?

这是一张图片,使我的意思更清楚:

在此处输入图片说明

在此处输入图片说明

看起来像单元格大小和视图大小不匹配,因为您没有提到该单元格。

在这种情况下,请关闭“收集视图流布局”,然后相应地调整像元大小。

@IBOutlet weak var collView: UICollectionView!
@IBOutlet weak var collLayout: UICollectionViewFlowLayout!

override func viewDidLayoutSubviews() {
    var w = self.view.frame.width
    if #available(iOS 11.0, *) {
        w = self.view.safeAreaLayoutGuide.layoutFrame.width
    }
    let padding:CGFloat = 20
    let spacing:CGFloat = 5
    let columns:CGFloat = 6
    let cw = ceil((w - padding) / columns)
    collLayout.itemSize = CGSize(width: cw - spacing*2, height: cw - spacing*2)
    collLayout.minimumLineSpacing = spacing
    collLayout.minimumInteritemSpacing = spacing

    super.viewDidLayoutSubviews()
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM