最近在做项目的时候用到了,系统默认UICollectionViewController,一般写的时候用的都是UICollectionView,这次用UICollectionViewController遇到了一些问题记录一下
1.不用xib创建时,需要重写
override init(collectionViewLayout layout: UICollectionViewLayout){
super.init(collectionViewLayout: layout)
}
重写后会自动提示添加下面这段函数,这段函数是swift4.0以后都自动提示要加的
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
2.最重要的是layout不能写到viewDidLoad()这样是无效的
override func viewDidLoad() {
super.viewDidLoad()
let layout = UICollectionViewFlowLayout()
layout.itemSize = CGSize(width: UIScreen.main.bounds.width-20 , height: UIScreen.main.bounds.height-20)
layout.minimumLineSpacing = 15.0
layout.minimumInteritemSpacing = 0
layout.scrollDirection = .horizontal
这样是无效的
必须在convenience ini