私はUIScrollViewを持ち、スクロールビューフレームはUIViewフレームと等しくありません。したがって、スクロールビューの枠外にスワイプしている間はスクロール表示の内容はスワイプされません。しかし、私は、スクロールビューはフルスクリーンをカバーしていませんが、スクロールビューの全画面を応答したいと思います。 私はスクロールビューフレームをビューフレームと同じにすることによって行うことができますが、私はそれをしたくありません。これまでに見つけた解決策を試しました。しかし、何も私が望むように働いていません。 ジェスチャ認識機能を使用してこれを行う必要があります。続きUIViewでスワイプジェスチャーを認識し、ジェスチャー認識機能を使用してscrollViewをスクロールします。
は私のコードです:
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGesture))
swipeRight.direction = UISwipeGestureRecognizerDirection.right
self.view.addGestureRecognizer(swipeRight)
let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGesture))
swipeLeft.direction = UISwipeGestureRecognizerDirection.left
self.view.addGestureRecognizer(swipeLeft)
}
func respondToSwipeGesture(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.right:
scrollView.panGestureRecognizer.isEnabled = true
case UISwipeGestureRecognizerDirection.left:
scrollView.panGestureRecognizer.isEnabled = true
default:
break
}
}
}
これは私のビューコントローラであると青の背景には、スクロールビューです。スワイプジェスチャーは、その青い領域でのみ機能します。しかし、私はそれがコーナーでさえスクリーンを通して働くことを望みます。 ジェスチャー認識装置を使用してどのように達成できますか?
http://stackoverflow.com/a/43328905/5173807 – 9it3e1