如何避免 NavigationBar 中的两个 barButtons 可以同时按下?
Posted
技术标签:
【中文标题】如何避免 NavigationBar 中的两个 barButtons 可以同时按下?【英文标题】:How to avoid two barButtons in NavigationBar could be pressed in same time? 【发布时间】:2013-06-04 02:30:10 【问题描述】:我在我的应用中发现了这个问题。
“BackBarButton”和“rightBarButton”可以同时被触摸,然后两个动作都会被调用。
我知道UIView中有“exclusiveTouch”可以解决这类问题。但是UIBarButton不是它的子类。
谁能帮帮我?? 谢谢。
【问题讨论】:
您能否分享更多信息,说明您为什么要确保不能同时按下 2 条按钮? 99.999% 的用户会选择其中一个。不能同时进行 @SanjitSaluja 这是一个测试用例。在这种情况下,我的应用程序崩溃了。所以我想修复它。 【参考方案1】:如果您正在寻找一个干净且通用的案例答案,我没有。
不过,一个不太优雅的解决方案应该适用于您的应用。只需在您的班级中创建一个BOOL
标志,并在您积极响应您的UIBarButton
按下之一时设置它,然后在您完成响应该按钮按下时清除它。在您的每个回复中,只需检查标志。
所以,在你的类的初始化中:isBusy = NO;
然后在每个选择器中:
if (!isBusy)
isBusy = YES;
//Do yer stuff for this selector
isBusy = NO;
【讨论】:
以上是关于如何避免 NavigationBar 中的两个 barButtons 可以同时按下?的主要内容,如果未能解决你的问题,请参考以下文章
iOS 8 中的 NavigationBar 栏、色调和标题文本颜色
设置两个 barItem 属性后,是啥导致 navigationBar 变成白色朦胧颜色?
iOS:如何在导航栏中与 NavigationBar Title 平行放置一个按钮?
关于使用navigationController,前后2个视图控制器navigationBar隐藏属性不同,导致右滑手势失效问题的解决办法