iOS CollectionView作为视图 - 这是一个很好的做法吗?

时间:2018-04-03 22:07:45

标签: ios swift uicollectionview

我见过一个代码,它将ViewController的视图设置为collectionView。

let collectionView = UICollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout())

override func viewDidLoad() {
   super.viewDidLoad()

   view = collectionView
}

尽管听起来不对,但我觉得这是一种不好的做法。如果我要添加子视图或其他UI元素,我需要一个容器并将其添加到集合视图似乎不对。

1 个答案:

答案 0 :(得分:1)

正如Dan在评论中指出的那样,UICollectionViewController有一个集合视图,因为它是内容视图。

就个人而言,我发现这种限制和烦人,因为它意味着视图控制器唯一可以管理的是单个集合视图。但是,这是一种有效的方法(尽管Dan也指出,你应该在loadView()而不是viewDidLoad中执行此操作。loadView()可以让您创建视图层次结构代码,而不是从Storyboard / XIB文件创建它。

如果你打算这样做,为什么不使用UICollectionViewController