【发布时间】:2011-10-21 08:50:22
【问题描述】:
您好,我知道如果在导航控制器上推送/弹出新视图,通常的 viewWillAppear 和 viewDidAppear 将不会被调用。我已经在我的根视图控制器上实现了<UINavigationControllerDelegate> 协议和所需的方法。但是,我很难将根视图控制器设置为导航控制器的委托。有没有办法以编程方式或在情节提要中做到这一点?
我试过了
[self.navigationController setDelegate:self] 来自根视图控制器的 viewWillAppear 方法,但似乎没有效果。任何提示将不胜感激。
【问题讨论】:
-
viewWillAppear 和 co 应该在推送/弹出视图控制器时被调用。
-
好吧,有些情况并非如此,请参见此处,a.o.:davidebenini.it/2009/01/03/…
-
那篇文章引用了当您的导航控制器是另一个视图控制器的 subview 时发生的情况。通常这在 iPhone 上很少发生,因为您的导航控制器始终是根控制器。
-
当我将视图放入 UIScrollingViewController 时遇到了同样的问题,这些子视图使用 ScrollingViewController 的导航栏,所以这些情况确实存在
标签: iphone ios xcode uinavigationcontroller viewwillappear