定位 UIViewController 包含子项

Posted

技术标签:

【中文标题】定位 UIViewController 包含子项【英文标题】:positioning UIViewController containment children 【发布时间】:2012-05-23 20:11:33 【问题描述】:

我正在阅读文档:

您需要决定您的视图可以显示多少个孩子 控制器一次,当显示这些孩子时,以及在哪里 它们出现在视图控制器的视图层次结构中。

但是我应该在哪种方法中定位视图控制器子视图?假设我在容器中有两个 UIViewController,我想要一个挨着另一个.. 我该怎么做?

【问题讨论】:

【参考方案1】:

在我的一篇文章中,我演示了如何使用 UIViewController Containment 创建一个简单的仪表板应用程序。

http://www.highoncoding.com/Articles/848_Creating_iPad_Dashboard_Using_UIViewController_Containment.aspx

【讨论】:

你应该包含一些实际的文本来解释在堆栈溢出时要做什么。此处构成“良好”答案的部分原因是,任何链接内容的显着部分都存在于答案中,以防链接内容消失。【参考方案2】:

每个子视图控制器都有一个view 属性。您可以在将这些视图添加到您自己的视图时设置它们的框架。

【讨论】:

【参考方案3】:

这取决于您可能遇到的情况。如果您需要在第一次显示视图时显示所有子视图,则在 viewDidLoad(如果使用 xib 或 nib)或 loadView(如果以编程方式完成)中添加视图控制器和视图。如果您需要按需显示子视图控制器,例如在触摸按钮后,那么您可以在单独的方法中添加子视图控制器和关联的视图。

您需要像布局任何其他子视图一样布局子视图控制器的视图。请记住,视图控制器包含只是允许您模块化代码的另一种方式。

查看此链接,该链接有助于解释如何添加子视图控制器:Animate change of view controllers without using navigation controller stack, subviews or modal controllers?

这是一个简单的示例项目,展示了如何添加子视图控制器:https://github.com/toolmanGitHub/stackedViewControllers

祝你好运!

【讨论】:

以上是关于定位 UIViewController 包含子项的主要内容,如果未能解决你的问题,请参考以下文章

从包含 UIViewController 为 UIView 的 UIButton 分配回调

重新加载包含 UITableView 的 UIViewController 时的 EXEC_BAD_ACCESS

按位置和大小定位 XAML 子项

如何在影子 DOM 中定位 ::part 属性的子项

React Native ScrollView 与相对于屏幕大小的绝对定位的子项

在 UIViewController 中调用方法来定位错误