【发布时间】:2012-07-16 14:33:26
【问题描述】:
当用户按下后退按钮从活动 UINavigationController 弹出当前 UIViewController 时,我需要 - 在某种特殊情况下 - 以编程方式从同一导航控制器弹出另一个 UIViewController(新的顶部)。
(不赘述,请相信我,这并没有违反 Apple 的人机界面准则。相反,如果我不弹出额外的 VC 可能会违反准则)。
我能想到的唯一方法是在viewWillDisappear: 中放置一个popViewControllerAnimated:,但不幸的是这不起作用(即使我要弹出的VC 仍然显示为self.navigationController.viewControllers 中的最后一个对象) .我在通话中尝试了“是”和“否”。
我找不到一种方法来检测 VC 何时将在 viewWillDisappear: 之前弹出,因为 UINavigationControllerDelegate 没有检测 VC 何时即将弹出的行为,只有当它即将弹出时被推。
有没有办法做到这一点?
【问题讨论】:
-
那么,您要做的是在按下后退按钮弹出第二个 VC 以返回第一个 VC 后立即呈现/推送第三个 VC?
-
没有。我想要的是当用户触摸第三个 VC 中的后退按钮时从第三个 VC 直接弹出到第一个 VC(正如我所说,在这种特殊情况下,这并不违反 Apple 的 HIG)。
标签: iphone ios xcode ipad uinavigationcontroller