当我从tableView中选择时,它会返回到我的地图并在所选引脚上显示自定义注释标注。如果我点击地图上的另一个图钉,则自定义标注视图将从上一个图钉中消失,并显示在当前选定的图钉上。
如果我尝试在自定义calloutView内部点击它也会消失。我怎样才能避免这种情况,为什么会这样呢?
以下是代码:
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
if (![view.annotation isKindOfClass:[MKUserLocation class]]) {
self.calloutView = [[TNCalloutView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 150.0f, 100.0f)];
self.calloutView.alpha = 1.0f;
self.calloutView.backgroundColor = [UIColor whiteColor];
self.calloutView.layer.cornerRadius = 10.0f;
CGRect calloutViewFrame = self.calloutView.frame;
calloutViewFrame.origin = CGPointMake(-calloutViewFrame.size.width/2 + 20 , -calloutViewFrame.size.height -10);
self.calloutView.frame = calloutViewFrame;
[view addSubview:self.calloutView];
}
}
- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view
{
if ([view.annotation isKindOfClass:[TNAnnotations class]]) {
for (UIView *subviews in view.subviews) {
[subviews removeFromSuperview];
}
}
}
如果我一起删除取消选择方法。什么都没有消失,这不是我想要的。
另外,我已经查看了关于这个主题的其他帖子,但它对我没有帮助。
干杯。