我的地图有自定义的calloutview。里面有一个桌面视图。在IOS 6之前,一切正常,如果我选择了一行,则在标注内显示了一个新视图,但现在使用IOS 6它不再起作用了。显示了tableview,但我无法选择一行只是滚动表格。知道如何解决这个问题吗?
这是第4个帮助!答案 0 :(得分:0)
我解决了这个问题。点击CalloutView中的任何内容,地图都不会触摸。我的calloutview是自定义的tabbleview
1 - 在文件MapviewController.h中,您将添加委托:UIGestureRecognizerDelegate
2 - 并在文件中MapViewController.m实现方法 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
- 在我的mapView中,当你在地图上点击一次时,它会在这个方法中进行3次。所以我限制触摸将动作。第一次触摸将动作。 - 在myCalloutView中有tabbleView,如果tabbleView接收触摸它将返回Map的虚假触摸,它会使你的tabbleview可以触摸。同样为你的按钮
注意:在NSlog命中测试视图:将具有您想要触摸的视图项的名称。 示例我的视图:isEqualToString:@“UITableViewCellContentView”]
static int count=0;
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
NSLog(@"hit test view %@",[touch view]);
if(count >0 && count<=2)
{
count++;
count=count%2;
return FALSE;
}
count++;
if ([[[[touch view] class] description] isEqualToString:@"UITableViewCellContentView"]) {
return FALSE;
}
return TRUE;
}