我的地图有一个自定义的calloutview。里面有一个表视图。在iOS6之前,一切工作正常,如果我选择了一行,在标注中会显示一个新的视图,但现在iOS6不再工作。显示了表格视图,但我不能选择一行,只能滚动表格。你知道怎么解决这个问题吗?
thx 4救命!
发布于 2012-11-02 18:17:21
我解决了这个问题。单击CalloutView中的任何内容,地图将不会显示touch.My调用视图是自定义的具有选项卡视图
1-在文件MapviewController.h中添加委托: UIGestureRecognizerDelegate
2-和文件中的MapViewController.m实现方法- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)触摸
-In my mapView当您在地图上单击1次时,它将以此方法运行3次。所以我限制了触摸将会是action.the第一次触摸的动作。详细说明:在myCalloutView have tabbleView中,如果tabbleView接收到触摸,它将返回地图的错误触摸,这将使您的tabbleview可以为您的按钮获得相同的touch.It
注意:在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;
}https://stackoverflow.com/questions/12543783
复制相似问题