在swift中控制mapview手势委托

时间:2015-02-20 12:20:24

标签: ios objective-c xcode swift uigesturerecognizer

我在我的应用中使用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的手势识别器

0 个答案:

没有答案