【问题标题】:iOS: UIView losing tap recognition with UITabGestureRecognizer enablediOS:UIView 在启用 UITabGestureRecognizer 的情况下失去点击识别
【发布时间】:2019-08-05 14:13:19
【问题描述】:

我正在使用一个导入的按钮对象 Floaty (https://github.com/kciter/Floaty),它是 UIView 类的子类。在我使用此按钮(包括文本字段)的视图控制器之一中,如果我包含以下行以在轻按时关闭键盘,则在轻按时无法选择按钮...

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard (_:)))
self.view.addGestureRecognizer(tapGesture)

如何关闭键盘的想法来自这个 SO 查询:iOS - Dismiss keyboard when touching outside of UITextField

我认为问题的一部分可能是浮动按钮需要在前面,所以我添加了以下代码行,从这个 SO 查询中找到:Losing tap recognition after adding a UIScrollView under a UIButton

floaty.bringSubviewToFront(self.view)

我将此行添加到使用它的视图中的 ViewDidLoad() 函数的末尾。

(可能需要注意的是,上述所有代码都在我的视图控制器的 ViewDidLoad 函数中)

在离开文本字段时,是否有另一种方法来处理关闭键盘?或者我应该对 Floaty (UIView) 对象做些什么来处理点击/触摸事件?

【问题讨论】:

    标签: ios cocoa-touch uiview uitextfield uikit


    【解决方案1】:

    您可以尝试使用命中测试。通过点击测试,您可以分配一个处理触摸的视图。这篇很棒的文章解释了如何应用命中测试http://smnh.me/hit-testing-in-ios/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多