【发布时间】:2011-05-18 21:41:10
【问题描述】:
如何在不使用popToRootViewControll方法的情况下弹出到rootview控件,因为该方法没有实现RootViewController的viewDidLoad方法???
【问题讨论】:
-
这里的细节很少。能详细一点吗?
如何在不使用popToRootViewControll方法的情况下弹出到rootview控件,因为该方法没有实现RootViewController的viewDidLoad方法???
【问题讨论】:
“因为这个方法没有实现 RootViewController 的 viewDidLoad 方法”是什么意思?
如果没有内存警告,“viewDidLoad”只会被调用一次。如果您收到内存警告,您的 viewDidLoad 方法将被再次调用。
您需要在“viewWillAppear”中实现您的逻辑。
也许你应该阅读View Controller Programming Guide for iOS
UIViewController Class Reference 在这里您可以找到 viewWillAppear 和 viewDidAppear 方法
【讨论】:
我认为你需要采取不同的方法来解决这个问题。
如果您想要再次运行根视图控制器的viewDidLoad 方法中的代码,那么该代码首先不应该在viewDidLoad 方法中。 viewDidLoad 仅在视图控制器的视图被加载后运行(通常在视图控制器的生命周期中只运行一次)。您可能应该将该代码放在视图控制器中自己的方法中,这样您仍然可以从 viewDidLoad 方法中调用它。
要让代码在您弹出到根视图控制器时运行,您可以从根视图控制器的 viewWillAppearAnimated 方法调用该新方法,该方法在每次视图控制器的视图即将显示时被调用。
【讨论】: