我一直在想这个问题,我真的不知道如何正确地将一个 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/