我在我的应用中使用SWRevealViewController(幻灯片视图控制器)。但是我的中心视图是一个mapview。所以很明显我从左到右滑动不会显示左侧隐藏的视图控制器,实际上mapview将只是平移。
因此,我使用以下代码禁用mapView
最左侧mapView
的平移,并使用以下代码
NSArray *gestureRecognizers = [mapView gestureRecognizers];
for (UIGestureRecognizer *recognizer in gestureRecognizers) {
if ([recognizer isKindOfClass:[UITapGestureRecognizer class]]) {
//[v removeGestureRecognizer:recognizer];
}
if ([recognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
//[v removeGestureRecognizer:recognizer];
recognizer.delegate=self;
}
}
并按如下方式递交代表
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)recognizer
{
CGPoint loc =[recognizer locationInView:self.mapView];
if (loc.x>50) {
return YES;
}
return NO;
}
这在目标c中运作良好
但是现在我正在使用swift它不工作
因为
在目标c NSArray *gestureRecognizers = [mapView gestureRecognizers];
中,数组有一些元素但是在swift的情况下
if let recognizers = mapView.gestureRecognizers {
for recognizer in recognizers {
println("founr gest")
mapView.removeGestureRecognizer(recognizer as UIGestureRecognizer)
}
}
手势数组是零。
我在swift中做错了吗?
OR 长话短说
是否可以在swift中获取mapview的手势识别器