我知道如何通过 Storyboard在 iOS 中创建容器 View ,但它不允许我在 Collection View 单元格中创建容器 View 。我希望其中一个单元格将另一个 Controller 作为容器加载。我该怎么做呢?
最佳答案
在我给你代码之前你必须意识到这肯定是个坏主意。 UITableViewCells
是高度可重用的,只是原始 View ,没有真正的 View Controller (只是数据源)支持。容器 View 被设计为嵌套 Controller ,而不仅仅是放置在 UIView
(如表格单元格)内。但我离题了:
这是与 container views 相关的 Apple 文档(搜索容器 View )。
在添加和删除子项部分下:
// Adding a container view
[self addChildViewController:content]; // 1
content.view.frame = [self frameForContentController]; // 2
[self.view addSubview:content.view];
[content didMoveToParentViewController:self]; // 3
// Removing a container view
[content willMoveToParentViewController:nil]; // 1
[content.view removeFromSuperview]; // 2
[content removeFromParentViewController]; // 3
当配置一个单元格时,它很可能已经在其中有一个容器 View (来自它以前的配置)。因此,在添加新的之前,您应该首先尝试重用您已经添加的内容。但同样,这种解决方案并不是真正可取的,但您应该已经知道这一点,因为 IB 阻止了您这样做。
关于ios - 以编程方式在 ios 中创建容器 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29256637/