ViewDidAppear / ViewWillAppear未被调用

时间:2010-10-17 20:02:41

标签: iphone objective-c ipad viewwillappear

我有一个ViewController,可以添加到其他子视图中,这些子视图包含子视图uiviewControllers

所以它是这样的:

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

subVC1或subVC2都没有触发viewDidAppear / viewWillAppear吗? 主视图控制器正在app delegate中创建,并且视图也添加到窗口中。

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

2 个答案:

答案 0 :(得分:5)

我看了你的代码。 所以问题是当视图添加到Window时调用viewWillAppear / viewDidAppear,而不是其中一个子视图。 您可能希望使用viewDidLoad。

答案 1 :(得分:1)

首先,您确定您确实需要使用此UIViewControllers层次结构执行您正在执行的操作吗?为什么您的MainViewController无法处理subVC1subVC2负责的观看次数?

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