如何设置UICollectionViewCell的约束?

3
我希望我的单元格宽度在每个屏幕尺寸上都与屏幕宽度相同。由于Storyboard中的选项被禁用,我无法设置约束条件,在程序中设置约束条件会导致错误,错误信息类似于“无法激活约束条件,因为它们没有共同的祖先”,即使我只把约束条件设置为视图的前导和后续锚定点。

现在Storyboard的设置方式是,单元格在iPhone SE上具有所需的宽度,并且在较大的屏幕尺寸上具有相同的宽度。


可能是如何将CollectionView单元格扩展到全屏的重复问题。 - Syed Qamar Abbas
2个回答

3
你可以使用代理方法。
viewcontroller:UICollectionViewDelegateFlowLayout {
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize.init(
            width: collectionView.bounds.height,
            height: collectionView.bounds.height
        )
    }

0
这可能会帮助您将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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接