10

UIPageViewControllerTransitionStyleScrolltransitionStyleと navigationOrientationで UIPageViewController を使用していますUIPageViewControllerNavigationOrientationVertical

ビューにもありUIPanGestureRecognizer、パンジェスチャがアクティブなときにページスクロールを無効にしたいと考えています。

ジェスチャの開始時に次のように設定しようとしています:

pageViewController.view.userInteractionEnabled = NO;

これは効果がないように見えるか、散発的に機能するように見えます。

私が見つけた他の唯一の方法 (これは機能します) は、パン ジェスチャの実行中に UIPageViewController dataSource を nil に設定することですが、これにより、dataSource をリセットするときに大きな遅延が発生します。

4

5 に答える 5

3

Objective-C の代わりに Swift を使用している人のために、ここに Squikend のソリューションを転置します。

func findScrollView(#enabled : Bool) {
    for view in self.view.subviews {
      if view is UIScrollView {
        let scrollView = view as UIScrollView
        scrollView.scrollEnabled = enabled;
      } else {
        println("UIScrollView does not exist on this View")
      }

    }
  }
于 2015-01-10T18:29:58.527 に答える