0
私はUIScrollView内にUIViewを持っています。私はそれをタップすると何かをするビューを開始し、タップが終了したときに別の何かをしたい。そのため私はUILongPressGestureRecognizerを使用しました。 minimumPressDurationをゼロに設定しました。これは正常に動作しますが、私の問題は、ビュー内のすべてのタッチがジェスチャ認識機能を起動するため、スクロールビューを正しく使用できなくなることです。Swift:LongPressGestureRecognizerとスクロールビューとの競合
これを解決する方法は誰にもありますか? LongPressGestureRecognizerにスワイプジェスチャーに反応しないように指示できますか?
let gesture = UILongPressGestureRecognizer()
gesture.cancelsTouchesInView = false
をもとUILongPressGestureRecogniser
を使用してみてください:
ViewController
は、あなたのジェスチャー認識器の
delegate
ある
extension ViewController: UIGestureRecognizerDelegate {
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
}
このコードを参照してください。https://stackoverflow.com/questions/15870756/using-uilongpressgesturerecognizer-for-subviews-of-uiscrollview –
[viewObject addGestureRecognizer:longPress];またはlongPress.minimumPressDuration = 0.05; – Govaadiyo