【问题标题】:UITapGestureRecognizer Dismiss keyboard & UICollectionView conflictUITapGestureRecognizer 关闭键盘和 UICollectionView 冲突
【发布时间】:2021-04-27 18:05:10
【问题描述】:

我有一个UIScrollView,其中包含许多堆栈子视图。

我有一个 UITapGestureRecognizer 可以关闭键盘,这很有效。

let tap = UITapGestureRecognizer(target: self, action: #selector(dismissKbd))
self.view.addGestureRecognizer(tap)

我的一个子视图是一个包含集合视图的堆栈视图。

stackView = UIStackView()
scrollView.addSubview(stackView)
stackView.axis = .horizontal
stackView.anchor(top: notesTextView.bottomAnchor, left: scrollView.leftAnchor, bottom: scrollView.bottomAnchor, right: scrollView.rightAnchor, paddingTop: 8, paddingLeft: 2, paddingBottom: 2, paddingRight: 2, height: 400)
let child = ImageGalleryViewController()
stackView.addArrangedSubview(child.view)
child.didMove(toParent: self)

问题:

这会导致:

  1. 点击屏幕时键盘将关闭
  2. didSelectItemAt 仅在一个单元格上使用两个手指时有效

我认为这与手势识别器的冲突有关。

对于如何完成这项工作的任何指导,我将不胜感激。我认为这与手势识别器的焦点有关?

【问题讨论】:

    标签: ios swift uiview uicollectionview uigesturerecognizer


    【解决方案1】:

    我认为您可以在 scollView 滚动或 offsetY 为常数时处理关闭键盘。您永远不需要通过手势关闭键盘。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多