我的应用程序具有用户在编辑地理要素时输入的模式。在此编辑模式下,我提供了一个视图控制器,其中嵌入了一个从视图控制器框架插入的嵌入式视图。此视图控制器的背景具有0.5的alpha值,因此底层视图在内部表视图外部仍然是部分可见的,但顶部的半透明视图控制器显示为灰色。底层视图控制器上有一个按钮,用于在不处于编辑模式时将视图向右滑动。
当编辑视图控制器处于活动状态时,将禁用此按钮以激活滑块,这是所需的行为。但是,用户也可以向右滑动视图,从而实现与按钮相同的功能。我想在编辑视图控制器出现时禁用此滑动功能。
所以我猜我的问题是:当某个视图控制器存在时,如何禁用滑动手势?
答案 0 :(得分:1)
您可以使用gestureRecognizerShouldBegin:
委托方法。如果检测到的手势是特定的滑动手势(即theGesture
)并且存在某个视图控制器(即theView
),则告诉手势不要开始,例如:
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
if (gestureRecognizer == theGesture && theView.window != nil) {
return NO;
} else {
return YES;
}
}