UIViewController viewDidAppear - 因为它被推或者因为子视图被弹出了?

Ale*_*s G 6 iphone uiviewcontroller viewdidappear

在我的应用程序中,我有大约十几个不同的视图控制器,以不同的顺序从堆栈中推入或弹出.当一个视图出现时(我正在使用viewDidAppear方法)我需要确定这是因为这个视图刚刚被压入堆栈还是因为它的一个子视图从堆栈中弹出.

我经历了这个问题:viewWillDisappear:确定是否正在弹出视图控制器或正在显示子视图控制器

但我不认为这对我很有帮助.有什么建议吗?

Cra*_*lon 1

你可以做的就是在你的视图控制器上有一个 BOOL 属性,称为 hasPushed 或类似的东西。然后在 viewDidAppear 方法中检查它是否为 false(这将是第一次调用 viewDidAppear),如果将其设置为 true。

然后,当弹出子视图 viewController 时,viewDidAppear 方法将检查alreadyPushed 属性是否设置为 true,如果您知道子视图刚刚被弹出。