iOS 13.0 与 ios 12 相比,触摸开始延迟有所增加

iOS 13.0 Touch begin delayed increased compare to ios 12

在我的项目中,我使用以下设置点击手势

    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(sceneViewTapped(gesture:)))
    tapGesture.cancelsTouchesInView = true
    tapGesture.delaysTouchesBegan = true
    self.view.addGestureRecognizer(tapGesture)

还有像override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)

这样的Touch方法

我已经使用 tapGesture.delaysTouchesBegan = true 设置触摸手势来同时使用手势和触摸委托方法

它在 iOS12 之前工作正常,但在 iOS13 中增加了触摸延迟,因此用户必须拖动他的手指并等待绘图开始,因为触摸方法调用延迟

请参考下图,有时手势丢失,开始绘图延迟。

如果我删除 delaysTouchesBegan,它会再次平滑。

谁能帮我解决这个问题?

示例项目

要快速测试这些东西,请下载 raywenderlich 项目 https://www.raywenderlich.com/5895-uikit-drawing-tutorial-how-to-make-a-simple-drawing-app

ViewController.swlft中添加以下代码

override func viewDidLoad() {
    super.viewDidLoad()
    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(viewTapped(gesture:)))
    tapGesture.delaysTouchesBegan = true
    self.view.addGestureRecognizer(tapGesture)

  }

  @objc func viewTapped(gesture:UITapGestureRecognizer) {
    print("View Tapped")
  }

这是 iOS 13.0 错误

更新到 iOS 13.1 后将自动修复此问题

希望对某人有所帮助:)