gpt4 book ai didi

带有 TableView 的 IOS 6 CalloutView 不再起作用

转载 作者:行者123 更新时间:2023-12-01 16:54:55 36 4
gpt4 key购买 nike

我的 map 有一个自定义标注 View 。里面有一个tableview。直到 IOS 6 一切正常,如果我选择了一行,标注内会显示一个新 View ,但现在使用 IOS 6 它不再工作了。显示了表格 View ,但我无法选择一行,只需滚动表格即可。知道如何解决这个问题吗?

谢谢 4 帮助!

最佳答案

我解决了这个问题。单击 CalloutView 中的任何内容, map 将无法触摸。我的 calloutview 是自定义的,有 tabbleview

1 - 在 MapviewController.h 文件中,您将添加委托(delegate):UIGestureRecognizerDelegate

2 - 在文件 MapViewController.m 中实现方法 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

- 在我的 mapView 中,当您在 Map 上单击 1 次时,它将采用此方法 3 次。所以我限制触摸将采取行动。第一次触摸将采取行动。
- 在 myCalloutView 中有 tabbleView,如果 tabbleView 接收到触摸它会返回错误的 map 触摸,它会让你的 tabbleview 可以触摸。它同样适用于你的按钮

注意:在 NSlog HitTest View 中:将具有您希望它触摸的 View 项目的名称。
例如我的观点: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;
}

关于带有 TableView 的 IOS 6 CalloutView 不再起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12543783/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com