首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式选择MKUserLocation?

如何以编程方式选择MKUserLocation?
EN

Stack Overflow用户
提问于 2012-01-12 02:19:24
回答 1查看 2.5K关注 0票数 3

可以使用MKUserLocation将标题和副标题添加到iOS显示的用户位置。当用户点击该位置时,这些内容将显示在该位置上方的一个气泡中。通过从MKAnnotationView中选择带有setSelected:animated:的注释,可以显示其他注释的思想气泡。不幸的是,MKUserLocation并不是从MKAnnotationView衍生出来的。

如何以编程方式选择用户位置,使注释显示在用户位置之上,而不是用户首先点击它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-12 03:48:30

MKAnnotationView的文档对其setSelected:animated:方法(以及类似于其selected属性的内容)进行了如下描述:

不应直接调用此方法。

相反,请使用MKMapView方法selectAnnotation:animated:。如果在didAddAnnotationViews委托方法中调用它,则可以确保注释视图已准备好显示标注,否则调用selectAnnotation将什么也不做。

例如:

代码语言:javascript
复制
-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
    for (MKAnnotationView *av in views)
    {
        if ([av.annotation isKindOfClass:[MKUserLocation class]])
        {
            [mapView selectAnnotation:av.annotation animated:NO];
            //Setting animated to YES for the user location 
            //gives strange results so setting it to NO.
            return;
        }
    }
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8824517

复制
相关文章

相似问题

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