首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何隐藏MKAnnotationView?

如何隐藏MKAnnotationView?
EN

Stack Overflow用户
提问于 2014-01-26 12:06:49
回答 1查看 879关注 0票数 1

4秒后,我在隐藏一个MKAnnotationView时遇到了问题。我有一个名为MKMapViewmapView,它用MKUserLocation显示用户的位置,并在MKAnnotationView中添加了UIButtonTypeDetailDisclosureMKAnnotationView会自动被选中,但我希望在使用NSTimer之后取消选择它。我已经正确地实现了计时器,并正确地调用了void方法,我用一个NSLog检查了它,但是我不知道在void方法中编写什么代码来使注释消失。

这是我的密码:

代码语言:javascript
复制
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
    for (MKAnnotationView* view in views)
    {
        if ([view.annotation isKindOfClass:[MKUserLocation class]])
        {
            view.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];

            [self.mapView selectAnnotation:view.annotation animated:YES];
        }

        mKAnnotationHideTimer = [NSTimer scheduledTimerWithTimeInterval:4.0
                                                                 target:self
                                                               selector:@selector(hideMKAnnotation:)
                                                               userInfo:nil
                                                                repeats:NO];
    }
}

- (void)hideMKAnnotation:(NSArray *)views
{
   // What code here?
}

有人能帮我写代码吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-26 12:16:55

您需要将view.annotation作为userInfo对象传递,并将hideMKAnnotation实现为

代码语言:javascript
复制
- (void)hideMKAnnotation:(NSTimer*)timer
{ 
     id aview = timer.userInfo;
     [self.mapView deselectAnnotation:aview animated:YES];
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21363114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档