我有一个ViewController,可以添加到其他子视图中,这些子视图包含子视图uiviewControllers
所以它是这样的:
mainViewController
|
v---------v
subVC1 subVC2
subVC1或subVC2都没有触发viewDidAppear / viewWillAppear吗? 主视图控制器正在app delegate中创建,并且视图也添加到窗口中。
这是一个显示我的问题的xcode项目:http://www.qfpost.com/download.do?get=92f03538907e72665ea794d98ff8392b
答案 0 :(得分:5)
我看了你的代码。 所以问题是当视图添加到Window时调用viewWillAppear / viewDidAppear,而不是其中一个子视图。 您可能希望使用viewDidLoad。
答案 1 :(得分:1)
首先,您确定您确实需要使用此UIViewControllers层次结构执行您正在执行的操作吗?为什么您的MainViewController无法处理subVC1
和subVC2
负责的观看次数?
其次,当您编写代码以从MainViewController调用它们时,将调用viewWillAppear / viewDidAppear。在不了解您的设计的任何其他内容的情况下,不可能建议何时应该调用它们,但是如果在“主”视图可见时子控制器的视图始终可见,那么调用它们可能是有意义的来自mainViewController
的viewWillAppear / viewDidAppear方法。