触摸时禁用其他栏按钮项:导航栏

Posted

技术标签:

【中文标题】触摸时禁用其他栏按钮项:导航栏【英文标题】:Disable other bar button items when one is being touched: Navigation bar 【发布时间】:2012-11-23 13:43:16 【问题描述】:

我有一个导航控制器,在它的导航栏中我有 2 个右栏按钮项,我想在单击/点击另一个右栏按钮时禁用一个右栏按钮。如何做到这一点??

提前致谢。

【问题讨论】:

在您的 .h 文件中声明两个按钮 UIBarButtonItem *btnONe;UIBarButtonItem *btnTwo; 并在您的 btnTwo 按钮操作中您可以通过调用方法禁用:btnOne.Enable=NO; 和反之亦然。 让我知道它是否适合您。 【参考方案1】:

不幸的是UIBarButtonItems只有一个回调,这相当于UIButtonUIControlEventTouchUpInside

如果您想在用户按下并释放按钮时执行某些操作(禁用/重新启用其他按钮),您可能不得不使用一些自定义 UIBarButtonItems 来弄脏您的手,这些 UIButton'scustomView 和进行一些仔细的事件处理,以了解何时启用/禁用每个事件。

就个人而言:同时按下多个条形按钮并不是很常见,并且不应该出现问题,无论您采用何种实现方式。

【讨论】:

以上是关于触摸时禁用其他栏按钮项:导航栏的主要内容,如果未能解决你的问题,请参考以下文章

导航栏按钮单击事件在单击其下方区域时触发。

动态禁用导航按钮和标签栏

禁用隐藏导航栏的触摸

这是通过触摸导航栏中间的按钮来显示视图并通过触摸其他任何地方将其删除的好方法吗?

导航左栏按钮项作为图像徽标

导航栏按钮项目“撰写”在转场期间向右移动