【发布时间】:2013-09-02 04:19:35
【问题描述】:
我有一个视图,它有一个地图视图的子视图。我使用 CLLocationManager 来获取当前位置并显示在地图上。然后当视图即将关闭时,我执行以下操作
_mapView.delegate = nil;
_mapView = nil;
[_locationManager stopUpdatingLocation];
_locationManager.delegate = nil;
_locationManager = nil;
但状态栏上的定位服务(GPS)指示灯仍然保持不变。当应用程序进入后台然后返回前台时,它会等待指示器显示在状态栏上,然后再激活。
指标还存在有什么原因吗?
编辑 - 以下是 CLLocationManager 的初始化和启动方式
if (_locationManager == nil) {
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
_locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
_locationManager.distanceFilter = kCLDistanceFilterNone;
[_locationManager startUpdatingLocation];
}
以下是我停止它的方法
if (_locationManager != nil) {
[_locationManager stopUpdatingLocation];
_locationManager.delegate = nil;
_locationManager = nil;
}
【问题讨论】:
标签: ios mkmapview cllocationmanager statusbar