【问题标题】:How do you prevent multiple touch events on the UINavigationBar?如何防止 UINavigationBar 上的多个触摸事件?
【发布时间】:2015-01-29 19:39:39
【问题描述】:

我的导航栏上有两个 UIBarButtonItem,这是我正在尝试使用的代码:

self.navigationController?.navigationBar.exclusiveTouch = true // 不起作用... self.navigationController?.navigationBar.multipleTouchEnabled = false // 相同...

这个问题有什么解决办法吗?就目前而言,任何人都可以同时按下两个 UIBarButtonItem 并使应用程序崩溃。我不应该这样使用它吗?

【问题讨论】:

    标签: ios swift uibarbuttonitem


    【解决方案1】:

    对于导航栏中的每个子视图,您需要设置exclusiveTouch = true

    所以,你的代码应该是这样的:

    for view in navigationController.navigationBar.subviews {
        view.exclusiveTouch = true
    }
    

    【讨论】:

    • With: self.navigationController?.navigationBar.multipleTouchEnabled = false 在'viewDidLoad'方法中;我仍然可以同时按下两个 UIBarButtonItem...
    • @user3276937 我用另一个应该可以解决您的问题的解决方案更新了我的答案。
    • 如果您指的是 super.navigationController?.navigationBar.multipleTouchEnabled = false 它仍然无法正常工作...如果有帮助,按钮会显示一个弹出视图...
    • navigationItem.leftBarButtonItem 似乎没有 ExclusiveTouch 属性...
    • @user3276937 好的,现在我想我明白了。在没有测试项目的情况下找到解决方案总是很棘手。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 2016-07-17
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多