UIViewController View 中的 iOS 嵌套 View Controller View ?

标签 ios uiviewcontroller viewcontroller

在 UIViewController 的 View 中嵌套 View Controller 的 View 在 iOS 中通常是糟糕的编程习惯吗?比如说,我想要某种交互元素来响应用户的触摸,但只占屏幕的 25%。

我想我会通过如下语句将这个嵌套 View Controller 添加到我的 UIViewController 中:

[self.view addSubview: nestedViewController.view];

最佳答案

不,这通常是好的设计,它有助于让您的 View Controller 保持简洁。但是,您应该使用 View Controller 包含模式,请查看以下文档。

Implementing a Container View Controller

使用带有 Storyboard 的 Interface Builder 进行设置也非常简单,请查看对象库中的容器 View 。

这是 Storyboard中的人为示例。在此示例中,您将有 4 个 View Controller ,一个包含 3 个容器,每个容器一个。当您呈现包含所有容器的最左侧 Controller 时, Storyboard将自动初始化并嵌入其他 3 个。您可以通过 childViewControllers 属性访问这些 subview Controller ,或者有一种方法可以覆盖 prepareForSegue:sender: 并捕获将要调用的 segue 的目标 View Controller 。如果需要,这也是将属性传递给 subview Controller 的好方法。

enter image description here

关于UIViewController View 中的 iOS 嵌套 View Controller View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17499391/

相关文章:

ios - 从我的服务器加载的图片在 iPad 应用程序上有错误的颜色

ios - 要覆盖哪个委托(delegate)来调整自动滚动?

ios - Xamarin Ios PopoverController 未处理的异常

ios - 更改 UINavigation Controller 以与 SlidePanel 配合使用

ios - uipopover 委托(delegate)中的 uidatepicker

ios - 快速从单独的 View Controller 调用函数

ios - 在 Viewcontroller 上创建自定义键盘

ios - 从 UIColor 获取 MidColor

objective-c - 使用pushViewController时没有Xib的UIViewController显示空白

ios - Swift 协议(protocol)不触发 Objective C 协议(protocol)方法