额外的popViewControllerAnimated:当用户按下后退按钮时?

时间:2012-07-16 14:33:27

标签: iphone ios xcode ipad uinavigationcontroller

当用户按下Back按钮从活动的UINavigationController弹出当前的UIViewController时,我需要 - 在某种特殊情况下 - 以编程方式从同一导航控制器弹出另一个UIViewController(新的顶级)。

(不详细说明,请相信我这并不违反苹果的人机界面指南。相反,如果我没有弹出额外的VC,可能会违反指南)。

我能想到的唯一方法是在popViewControllerAnimated:中放置一个viewWillDisappear:,但遗憾的是这不起作用(即使我想要弹出的VC仍然显示为最后一个对象) self.navigationController.viewControllers)。我在通话中尝试了YES和NO。

我无法找到一种方法来检测何时要在viewWillDisappear:之前弹出VC,因为UINavigationControllerDelegate没有检测VC即将弹出的行为,仅当它即将推出时。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

iOS5中有一些不错的新方法可用于检测是否即将弹出。

请参阅UIViewController Containment部分。

- (BOOL)isBeingPresented __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);
- (BOOL)isBeingDismissed __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);
- (BOOL)isMovingToParentViewController __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);
- (BOOL)isMovingFromParentViewController __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);
相关问题