iPhone 如何将 View Controller 的 View 添加到另一个 View Controller 的 View ?

标签 iphone objective-c ios uiview uiviewcontroller

我一直在想这个问题,我真的不知道如何正确地将一个 View Controller 管理的 View 添加到另一个 View Controller 的 View 中。

这不起作用,因为 View 没有完成加载

self.messageViewController = [[PopupMessagesViewController alloc] initWithNibName:@"PopupMessagesViewController" bundle:nil];
[self.view addSubview:self.messageViewController.view];

如何将 View Controller 从 nib 创建的 UIView 添加到另一个 View Controller 的 View ?如何在添加之前强制加载此类 View ?

最佳答案

您需要创建一个容器 View Controller 。虽然 iOS 5 明确支持容器 Controller ,但您可以在以前的版本中创建容器 Controller 。 iOS 5 所做的只是做一些自动转发旋转/外观事件(可选......我个人觉得它们很烦人,在我准备好之前发送事件)并为您提供一些额外的方法以在您的实现中使用。创建容器 View Controller 的真正问题是将所有适当的事件发送到子 Controller ,并确保您以与 Apple 的实现一致的方式管理您的 Controller 。否则,您的子 Controller 会出现奇怪的行为。在你这样做之前,你真的需要确保你完全理解 View Controller 是如何工作的。我建议阅读以下内容:

这里有一些信息链接:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html -向下滚动到:实现容器 View Controller

这里还有 View Controller 生命周期,这将帮助您确定需要按哪个顺序进行哪些调用:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ViewLoadingandUnloading/ViewLoadingandUnloading.html#//apple_ref/doc/uid/TP40007457-CH10-SW1

我确实建议阅读整个 View Controller Programming Guide....您可以从那里获得很多信息:http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007457-CH1-SW1

关于iPhone 如何将 View Controller 的 View 添加到另一个 View Controller 的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10181013/

相关文章:

c# - 单点触控 : UISegmentedControl Select a segment that is already selected

ios - 将图像添加到触摸位置 iOS

ios - 如何删除使用 xep-0136(消息存档)保存的聊天消息?

ios - 如何从 Swift 中的闭包中获取数据

ios - 如何在参数化函数中实现 NSTimer?

ios - 有没有办法从我的网站向 iPhone 发送推送通知?

ios - 在sqlite数据库中插入多个表数据

ios - 科威特应用程序的 MyFatoorah 支付网关

ios - 重新加载 tableView 后无法选择特定的 UITableViewCell

ios - 使多行 UILabel 包裹一个按钮