UIPageControllerは、page curlモードだと、デフォルトでは
- 画面の左右端タップでページめくり
- 画面を左右スワイプでページめくり
の2つのgestureRecognizerを持っている。
pageViewController.gestureRecognizers
で取得できるので、型判別して、それぞれを無効化することが出来る。
サンプルコード
class HogeViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let pageVC = //pageViewControllerを取得してきます
// tapによるページめくりを担当するインスタンスを取得
let tapGestureRecognizer = pageViewController.gestureRecognizers.filter{ $0 is UITapGestureRecognizer }.first as! UITapGestureRecognizer
// swipeによるページめくりを担当するインスタンスを取得
let panGestureRecognizer = pageViewController.gestureRecognizers.filter{ $0 is UIPanGestureRecognizer }.first as! UIPanGestureRecognizer
// 例 swipeによるページめくりは有効、tapによるページめくりは無効
tapGestureRecognizer.enabled = false
panGestureRecognizer.enabled = true
}
}