【问题标题】:Tap on disabled TabBarItem点击禁用的 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 不会在禁用的标签栏上收到点击。我可以改变这种行为吗?

感谢您的帮助!

【问题讨论】:

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

标签: ios swift uitabbarcontroller


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-09-29
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    相关资源
    最近更新 更多