导航控制器触发的方法是什么

时间:2010-02-20 20:50:54

标签: iphone uinavigationcontroller viewwillappear

我有一个navigationController和3个View控制器。 VC1推送VC2,VC2使用PresentModalViewController显示第3个VC

  1. 当VC2使用presentModalViewController来显示VC3时,VC3是否真的被推送到导航控制器堆栈?
  2. 仅在第一次调用VC3的viewdidload。我的目标是每次都使用新的imageView显示VC3。我在哪里添加代码来做到这一点?
  3. 也没有触发VC3的viewdidappear和viewwillappear

1 个答案:

答案 0 :(得分:0)

  1. 据我所知,VC3将位于VC2的视图层次结构中,而不是navigationController。要添加到navigationController的视图层次结构中,您必须将VC3推送到它上面。

  2. viewDidLoad只应调用一次,除非nib文件本身是由内存不足从内存中卸载的。文档声明应该在VC3上调用viewWillAppear和viewDidAppear,所以我不知道它们为什么不是。

  3. <强>更新

    我刚刚测试过,VC3确实调用了-(void)viewDidAppear:(BOOL)animated。确保选择器上的签名正确