点击禁用的 TabBarItem

Posted

技术标签:

【中文标题】点击禁用的 TabBarItem【英文标题】:Tap on disabled TabBarItem 【发布时间】:2016-04-03 16:25:58 【问题描述】:

我有TabBarItem,它已被禁用。如果用户点击它,我想显示警报。

但是这个功能不起作用:

override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) 
        if item.enabled == false 
            self.presentViewController(defaultAlert, animated: true)
        
    

当我将if item.enabled 更改为true 时,会显示警报。据我了解,ios 不会在禁用的标签栏上收到点击。我可以改变这种行为吗?

感谢您的帮助!

【问题讨论】:

是的,这是正确的,当它被禁用时,它不会收到点击。您将需要保持启用状态并以另一种方式跟踪它被禁用 而不是禁用,也许只是在禁用时弹出一个警报并隐藏您不想在该视图控制器中显示的所有内容。然后,当用户点击关闭您提出的警报时,它会返回到另一个视图。 看起来,这是唯一的解决方案。我认为可以用更少的代码来完成(( 【参考方案1】:

不是最好的,但另一种选择是在禁用的 UITabBarItem 的顶部添加一个 UIButton,它会拾取触摸并允许您在标签栏项目被禁用时显示警报。

您需要继承 UITabBarViewController 并在正确的选项卡位置创建按钮。

【讨论】:

以上是关于点击禁用的 TabBarItem的主要内容,如果未能解决你的问题,请参考以下文章

点击5次后禁用点击

带跨度的禁用按钮仍会触发点击功能!角

点击禁用的 TabBarItem

当按钮被禁用然后点击事件调用

java ssm 框架解决思路 状态 操作 启用 禁用 启用 禁用 启用 禁用 点击“禁用” 启动状态就变为“禁用”

禁用整个RecyclerView的点击次数