gpt4 book ai didi

iphone - Mapkit,如何检测注释已加载

转载 作者:行者123 更新时间:2023-12-03 19:40:26 25 4
gpt4 key购买 nike

我希望当图钉完成其放置动画时弹出注释标注。目前我可以用以下方法模拟它:

- (void)showCallOut {
[myMapView selectAnnotation:[myMapView.annotations objectAtIndex:0] animated:YES];
}

在我的viewDidLoad中是创建我的注释的地方

    [myMapView addAnnotation:annotation];

问题是您根本无法在此之后调用 [self showCallOut]; 因为在运行时它会在 MapKit “确认”注释删除之前做出响应。我需要创建延迟(希望避免这种情况)或找到正确的方法来检测注释何时到位,然后运行 ​​showCallOut 方法。

感谢您的帮助!

感谢下面的 aBitObvious 提供解决方案:

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
[self performSelector:@selector(showCallOut) withObject:nil afterDelay:1];
}

最佳答案

尝试使用 didAddAnnotationViews 委托(delegate)方法:

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
[self showCallOut];
}

确保您的 map View 的委托(delegate)已设置。

编辑:
如果您无论如何都需要添加延迟,请尝试此操作(例如 1/2 秒延迟):

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
[self performSelector:@selector(showCallOut) withObject:nil afterDelay:0.5];
}

关于iphone - Mapkit,如何检测注释已加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4083491/

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