【发布时间】:2009-07-02 12:44:22
【问题描述】:
有没有办法让 UIViewController(在导航堆栈内)检测它是否因为执行了向下钻取或向上钻取而出现?
不幸的是,在 viewWillAppear 中,UINavigationController 的 topViewController 和 visibleViewController 已经设置为新的 ViewController。
【问题讨论】:
-
我也一直在为此苦苦挣扎。我曾希望创建一个辅助类并将其设为我的“堆栈”UINavigationControllerDelegate,然后通过“navigationController:willShowViewController:”查看,但有两个问题:1) 似乎即使在没有被推送时也被调用(例如在该堆栈上切换- 这看起来很可疑)和 2)这在相关控制器的 viewWillAppear 之后被调用,这给我带来了逻辑问题,因为我需要在视图出现之前知道我是否在同一个堆栈中。我只是指出这一点,因为这种方法看起来很优雅,但却是死路一条。
标签: iphone uiviewcontroller uinavigationcontroller