【问题标题】:How to set constraints on a UICollectionViewCell?如何在 UICollectionViewCell 上设置约束?
【发布时间】:2019-03-23 21:43:48
【问题描述】:

我希望单元格的宽度与每个屏幕尺寸的屏幕宽度相同。我无法在情节提要中设置约束,因为该选项是灰色的,并且以编程方式设置它们会导致错误提示“无法使用锚激活约束......因为它们没有共同的祖先”,即使我是仅将约束设置为视图的前导和尾随锚点。

故事板现在的设置方式,单元格在 iphone SE 上具有所需的宽度,在较大的屏幕尺寸上具有相同的宽度。

【问题讨论】:

标签: ios swift uicollectionview uistoryboard nslayoutconstraint


【解决方案1】:

你可以使用委托方法

viewcontroller:UICollectionViewDelegateFlowLayout {
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize.init(
            width: collectionView.bounds.height,
            height: collectionView.bounds.height
        )
    }

【讨论】:

    【解决方案2】:

    这可能会帮助您将collectionView 宽度设置为与屏幕宽度相同。 在你的viewDidLoad() 写下这段代码

    let height: CGFloat = 100.0 //Some constant
    let width: CGFloat = self.view.frame.width
    
    let spLayout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
    spLayout.itemSize = CGSize(width: width, height: height)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多