В моем проекте у меня есть жест касания со следующей настройкой
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(sceneViewTapped(gesture:)))
tapGesture.cancelsTouchesInView = true
tapGesture.delaysTouchesBegan = true
self.view.addGestureRecognizer(tapGesture)
, а также есть метод Touch, например override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
У меня есть жест касания с tapGesture.delaysTouchesBegan = true
для работы обоих жестова также методы делегирования Touch
До iOS12 работает нормально, но в iOS13 задержка касания была увеличена, поэтому пользователь должен перетащить палец и подождать, пока начнется рисование, потому что сенсорный метод называется отложенным
Пожалуйста,см. изображение ниже, Иногда потерянный жест, Задержка начала рисования.
Если я удаляю delaysTouchesBegan
, он снова становится гладким.
Может ли кто-нибудь помочь мне решить эту проблему?
SAMPLE PROJECT
Чтобы быстро протестировать этот материал, загрузите проект 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")
}