0

在 iOS 中,为什么 UIView(和其他)只能嵌入在 UINavigationController 或 UITabBarController 中?这两个班有什么特别之处?

编辑:哎呀,想问'UIViewController'而不是UIView。

4

4 回答 4

0

不,这不是真的。UIView 嵌入了 UIViewController。该类为 UIView 提供生命周期。它负责从初始化视图到解除分配视图。

UINavigationController 和 UITabBarController 只是从 UIViewController 派生的。它们分别为构建层次结构和在层次结构之间切换提供了额外的功能。

于 2012-07-16T05:18:43.450 回答
0

我认为您所指的嵌入是embed in仅允许UITabBarControllerand的菜单项UINavigationController。这意味着 XCode 将获取您的UIViewController子类并将其嵌入到这两个控制器之一中。它们是特殊的,因为它们是其他控制器的控制器(UIViewControllers 的集合)。Xcode 只是从构建视图控制器中消除了一些痛苦,然后将其添加到导航控制器或标签栏。您可以一键轻松embed完成其中之一,无需代码。比过去版本的 XCode 容易得多。

于 2012-07-16T06:04:31.697 回答
0

UIView 可以嵌入到任何 ViewController 或其子类中。UINavigationController 和 UITabbarController 只不过是 UIViewController 的子类。

于 2012-07-16T05:30:08.810 回答
0

如果您在 Interface Builder 中谈论“嵌入”,是的,从 iOS 5 开始,Interface Builder 只会为三个视图控制器容器 、UINavigationControllerUITabbarControllerUISplitViewController. 这些是开箱即用的三个容器控制器。但是,您可以进行自己的视图控制器包含。有关视图控制器包含的信息,请参阅WWDC 2011 中的第 102节。另请参阅UIViewController 类参考中有关视图控制器包含的部分。

于 2012-07-16T06:35:31.393 回答