gpt4 book ai didi

iphone - 使用 MKMapView 显示当前用户位置?

转载 作者:可可西里 更新时间:2023-11-01 03:26:46 25 4
gpt4 key购买 nike

我试图通过设置 MKMapView 的属性来显示用户的当前位置,即 setShowsUserLocationYES。默认情况下,当应用程序开始更新用户位置时,iPhone 屏幕的左上角会出现一个箭头。但在显示当前位置后,箭头应该消失,但只要应用程序正在运行,它仍然存在,这意味着应用程序仍在在后台更新位置?那么我怎样才能停止更新当前位置呢?我已经实现了立即被调用的委托(delegate)..

最佳答案

如果 map 可见并且 showUserLocation 设置为 YES,它会在后台继续更新。

当 View 消失或应用程序进入后台时,您需要取消设置。最好的方法可能是注册您的 viewController 以获得 UIApplicationDidEnterBackgroundNotificationUIApplicationDidBecomeActiveNotification 的通知。

- (void)viewDidLoad{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appToBackground) name:UIApplicationDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appReturnsActive) name:UIApplicationDidBecomeActiveNotification object:nil];
}

然后在此通知调用的方法中,更改有关userLocation 的 map View 属性:

- (void)appToBackground{
[mapview setShowsUserLocation:NO];
}

- (void)appReturnsActive{
[mapview setShowsUserLocation:YES];
}

通过在此处设置断点并返回主屏幕来检查是否确实调用了这些方法。

关于iphone - 使用 MKMapView 显示当前用户位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9924653/

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