暂时禁用在PageViewController上的滑动

时间:2015-08-05 17:46:22

标签: ios swift scrollview uigesturerecognizer uipageviewcontroller

我有一个包含多个scrollViews的pageViewController,每个都拥有自己的图像。问题是当有人试图平移图像时,pageViewController会将其识别为滑动并尝试移动到下一个图像。有没有办法禁用它?

从概念上讲,我相信这就是我应该做的事情 -

if(scrollView.scrollScale > 1){
  pageViewController.scrollingEnabled = false
} else{
  pageViewController.scrollingEnabled = true
}

这样,当用户以1:1的比例缩放时,他们无法在图片之间滑动。

我在pageViewController的viewDidLayoutSubviews方法中尝试了这个。

for(var index: Int = 0; index < self.gestureRecognizers.count; index++){

  self.gestureRecognizers[index].requireGestureRecognizerToFail(scrollView!.panGestureRecognizer)

}

这不会影响在图片之间滑动而不是在缩放图片中平移的问题。

1 个答案:

答案 0 :(得分:0)

您应该使用'UIGestureRecognizer'的'requireGestureRecognizerToFail:'方法。

'UIPageViewController'具有'gestureRecognizers'属性。 'UIScrollView'有'panGestureRecognizer'和'pinchGestureRecognizer'。像

这样的东西
for (UIGestureRecognizer *recognizer in pageViewController.gestureRecognizers) {
 [recognizer requireGestureRecognizerToFail:scrollview.pinchGestureRecognizer]
}