在不使用内置容器的情况下实现视图控制器容器?

Posted

技术标签:

【中文标题】在不使用内置容器的情况下实现视图控制器容器?【英文标题】:Implement an view controller container without using build-in containers? 【发布时间】:2012-12-03 11:41:19 【问题描述】:

我是 ios 编程的新手,所以我想深入了解 View Controller Container 的概念。 我正在通过“monkey see monkey do”学习:D,我想制作一个滑出式导航(如 Facebook/Gmail/Path),没有任何原创性。

我找到了不同的实现,但是这个由Clemens Hammerl 制作的one 似乎非常简单,所以我开始弄乱它,看看发生了什么。他使用 UINavigationViewController 和 UITableViewController 作为其容器 (CHSlideController) 的 ViewController。

从我目前的阅读来看,这 2 个 ViewController 本身就是 Containers,对此感到有些奇怪,所以我想将普通的 ViewController's 发送到我的 Container 中,但我看不到这些 ViewControllers 的视图。

我想问你的是,如何在不使用其他内置容器的情况下实现视图控制器容器,例如 UINavigationViewController / UITableViewController / UITabViewController / ...?

我需要重写一些方法或放弃一些协议吗?

谢谢。

我只对 iOS SDK 5.0+ 感兴趣。

【问题讨论】:

【参考方案1】:

坦率地说,我不明白这个问题的目的,但无论如何! :-)

如果您提到的只是出于学习目的,请查看this iOS5+ 下的视图控制器包含相当简单的示例。

如果您想知道为什么视图控制器包含在 iOS5 之前是一个 PITA,请查看 this 优秀文章。

附带说明,UITableViewController 不是视图控制器容器! 例如,UITabBarController、UINavigationController 或 UISplitViewController 都是容器!

【讨论】:

以上是关于在不使用内置容器的情况下实现视图控制器容器?的主要内容,如果未能解决你的问题,请参考以下文章

将容器控制器(根视图控制器)设置为 UITabBarController 中视图控制器的委托

使用容器视图

在不自动调整大小的情况下确定 UIView 容器大小

(自动布局)容器视图调整大小但子视图不

Flexbox:如何让 div 在不换行的情况下填充 100% 的容器宽度?

如何在不使用视图控制器的情况下使用 nib 文件加载视图