iOS暂时禁用页面视图控制器滑动

时间:2016-12-08 17:37:32

标签: ios objective-c

我有一个设置,我设置Page View Controller以在不同的views之间导航。

在其中一些视图中,我将有一个custom drawing view,用户可以用手指绘制来创建图片。

问题是,用户无法制作图纸手势left/right,因为page view controller会接管并导航到其他视图。

我想知道暂时禁用swiping的{​​{1}}以允许用户page view controller是一种好方法。

我在想,当用户第一次与draw互动时,它会停用drawing view并创建page swiping。单击此按钮时,它将重新启用finished drawing button。这看起来是否合理,或者有没有人知道更好的方法?

2 个答案:

答案 0 :(得分:0)

使用此功能可以停止滚动

for (UIScrollView *view in self.pageViewController.view.subviews) {

if ([view isKindOfClass:[UIScrollView class]]) {

    view.scrollEnabled = NO;
}
}

答案 1 :(得分:0)

我会查看这个UIGestureRecognizerDelegate方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;

在这里你可以"杀死"页面视图控制器的手势识别器通过禁用和重新启用它:

if (/* otherGestureRecognizer is page view controller's */) {
    otherGestureRecognizer.enabled = NO;
    otherGestureRecognizer.enabled = YES;
}