0

我有一个占据大部分屏幕的自定义注释视图。在里面我有一个 UITableView 和一些标签。

UITableView 正确处理单元格选择。但是,如果我双击 UITableView 或自定义注释视图上的任何位置,地图将会缩放。

首先,我很想了解这是如何发生的。其次,如何阻止它发生。

4

1 回答 1

0

我想我已经想通了。正在发生的事情是 MKMapView 附加了手势识别器。

我通过继承 MKMapView 并实现 shouldReceiveTouch 解决了部分问题。双击仍然可以通过注释视图,但这不是问题。真正的可用性问题是单击。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    UIView * v = touch.view;
    while( v ){
    if( [v isKindOfClass:[SPAnnotationView class]] ){
        SPAnnotationView * aV = (SPAnnotationView *)v;
        if( [aV isExtendedAnnotation]){
            return NO;
        }
    }
        v = v.superview;
    }

    return [super gestureRecognizer:gestureRecognizer shouldReceiveTouch:touch];

   }
于 2012-12-06T22:48:24.873 回答