5

我有一个 ViewController 可以添加到具有子类 uiviewControllers 的其他子视图

所以它是这样的:

mainViewController
       |
  v---------v
subVC1   subVC2

而且 subVC1 或 subVC2 都没有对它们触发 viewDidAppear/viewWillAppear 吗?主视图控制器正在应用程序委托中创建,并且它的视图也添加到了窗口中。

这是一个显示我的问题的 xcode 项目:http ://www.qfpost.com/download.do?get=92f03538907e72665ea794d98ff8392b

4

2 回答 2

5

我看了你的代码。所以问题是 viewWillAppear/viewDidAppear 在视图添加到窗口时被调用,而不是它的子视图之一。您可能希望为此使用 viewDidLoad。

于 2010-10-17T20:58:23.127 回答
1

首先,你确定你真的需要用这个 UIViewControllers 层次结构做你正在做的事情吗?为什么您的 MainViewController 不能处理您subVC1subVC2负责的视图?

其次,当您编写代码以从 MainViewController 调用它们时,您的 viewWillAppear/viewDidAppear 将被调用。在不了解您的设计的任何其他信息的情况下,实际上不可能建议您何时应该调用它们,但是如果在“主”视图可见时子控制器的视图始终可见,那么调用它们可能是有意义的从你的 viewWillAppear/viewDidAppear 方法mainViewController

于 2010-10-17T20:46:54.433 回答