我有一个自定义注释视图占据了屏幕的很大一部分。在里面我有一个UITableView和一些标签。
UITableView正确处理单元格选择。但是,如果我双击UITableView或自定义注释视图上的任何位置,地图将缩放。
首先,我很想知道这是怎么回事。其次是如何阻止它发生。
答案 0 :(得分: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];
}