首页 文章

ViewDidAppear / ViewWillAppear未被调用

提问于
浏览
5

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

所以它是这样的:

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

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

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

2 回答

  • 5

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

  • 1

    首先,你确定你真的需要做你的MainViewController处理 subVC1subVC2 负责的视图吗?

    其次,当您编写代码以从MainViewController调用它们时,将调用viewWillAppear / viewDidAppear . 在不了解您的设计的任何其他内容时,'s not really possible to advise on when you should call them, but if the sub-controllers'视图在'main'视图可见时始终可见,然后从 mainViewController 的viewWillAppear / viewDidAppear方法调用它们可能是有意义的 .

相关问题