我见过一个代码,它将ViewController的视图设置为collectionView。
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout())
override func viewDidLoad() {
super.viewDidLoad()
view = collectionView
}
尽管听起来不对,但我觉得这是一种不好的做法。如果我要添加子视图或其他UI元素,我需要一个容器并将其添加到集合视图似乎不对。
答案 0 :(得分:1)
正如Dan在评论中指出的那样,UICollectionViewController
有一个集合视图,因为它是内容视图。
就个人而言,我发现这种限制和烦人,因为它意味着视图控制器唯一可以管理的是单个集合视图。但是,这是一种有效的方法(尽管Dan也指出,你应该在loadView()
而不是viewDidLoad
中执行此操作。loadView()
可以让您创建视图层次结构代码,而不是从Storyboard / XIB文件创建它。
如果你打算这样做,为什么不使用UICollectionViewController
?