【发布时间】:2011-02-11 17:43:55
【问题描述】:
我有一个带有根视图控制器的 UINavigationController,然后我将 UIViewController 推送到导航控制器的堆栈上。当用户点击 backBarButtonItem 时,如果满足某些条件,我希望能够弹出警报视图并取消视图控制器的弹出。例如,用户可以进行某些选择,但它们的某些组合可能无效,因此我想通知他们进行更改。
我知道我可以防止用户做出无效组合或在选择无效组合时弹出警报视图,但我不想这样做。用户可能正在更改选择,并且可能知道某个组合无效,但我宁愿让他们选择使组合无效的内容,然后去更改其他内容(如果他们在尝试之前没有进行更改,请通知他们)到上一个屏幕)。例如,如果我阻止他们选择无效组合的内容,那么他们可能必须在屏幕上向上滚动,更改某些内容,然后向下滚动,而不是进行选择然后向上滚动并更改某些内容。
使用viewWillDisappear: 不起作用,因为虽然我可以生成警报视图,但我无法找到防止弹出发生的方法。警报视图显示,但视图控制器仍然弹出,它们返回到根视图控制器(显示警报视图)。
有没有办法防止爆音的发生?如果不是,这是否值得提交错误报告,或者这是否不必要和/或深奥?
【问题讨论】:
标签: iphone cocoa-touch uiviewcontroller uinavigationcontroller