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 
    } 
} 

+0

このコードを参照してください。https://stackoverflow.com/questions/15870756/using-uilongpressgesturerecognizer-for-subviews-of-uiscrollview –

+1

[viewObject addGestureRecognizer:longPress];またはlongPress.minimumPressDuration = 0.05; – Govaadiyo

答えて

1

は、あなたが設定しようとしています。

関連する問題