在 Storyboard中,我想描述一个 UICollectionViewController ,它有一个普通的 UIView 作为它的 Root View (view 参数) . Root View 将是一个容器,其中包含 UICollectionView 作为子项,其前面还有另一个 UIView 。
(我想将我自己的 UIGestureRecognisers 放在 UIColellectionView 的前面以拾取平底锅和夹点。我将禁用 UIColellectionView 的“用户交互”)。
如果我从“对象库”中拖动 UICollectionViewController , Storyboard编辑器似乎不希望我这样做。可以做到吗?从 UIViewController 而不是 UICollectionViewController 子类化会更好吗?
Best Answer-推荐答案 strong>
对问题的简短回答:是的,必须。 UICollectionViewController 要求它的 [self view] 是 UICollectionView 实例。
不要这样做,而是让顶级 UIViewController 拥有 UICollectionViewController 作为子级。这适本地分离了每个 View 的代码/逻辑/所有权,并为您的“ View ”的每个部分正确分配 Controller 。
如果您是从代码设置,请使用 UIViewController 作为顶级 view 的所有者,并使用 addChildViewController: 来处理嵌套的 Collection View Controller 。
如果您从 Storyboard 进行设置,请使用 UIViewController 场景,该场景具有您选择的 View 层次结构,但包含 Storyboard 编辑器的“对象库”中的“容器 View ”对象在它的某个地方。将 UICollectionViewController 放在单独的场景中。将您添加的“容器 View ”指向 Storyboard 中 UICollectionViewController 的场景。
关于ios - UICollectionViewController 的 UICollectionView 必须是它的根 UIView 吗?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/20950496/
|