如何以编程方式为UICollectionView设置自动布局?

时间:2016-06-03 09:03:11

标签: ios objective-c swift autolayout

我尝试使用以下方法之一创建UICollectionView

// method 1
collectionView = UICollectionView(frame: CGRectMake(0, 0, 500, 3000), collectionViewLayout: layout)  

// method2
collectionView = UICollectionView(frame: CGRectZero, collectionViewLayout: layout)  

// method 3
collectionView = UICollectionView()

然后为它设置自动布局约束,如下所示:

mainView.addSubView(collectionView)
collectionView.translatesAutoresizingMaskIntoConstraints = false
collectionView.leadingAnchor.constraintEqualToAnchor(mainView.leadingAnchor).active = true
collectionView.trailingAnchor.constraintEqualToAnchor(mainView.trailingAnchor).active = true
collectionView.topAnchor.constraintEqualToAnchor(mainView.topAnchor, constant: 50).active = true
collectionView.heightAnchor.constraintEqualToConstant(300).active = true

使用方法1,UICollectionView仍然按照初始帧设置(0,0,500,3000)显示

使用方法2,UICollectionView不会显示。

使用方法3,它会崩溃,理由是:“必须使用非零布局参数初始化UICollectionView”

为此UiCollectionView设置自动布局约束的正确方法是什么?

0 个答案:

没有答案