点击后,自定义注释标注就会消失

时间:2014-04-02 18:00:15

标签: ios objective-c mkmapview mkannotationview mkpinannotationview

当我从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];
        }
    }
}

如果我一起删除取消选择方法。什么都没有消失,这不是我想要的。

另外,我已经查看了关于这个主题的其他帖子,但它对我没有帮助。

干杯。

0 个答案:

没有答案