我在我的应用程序中使用带有“showsUserLocation”选项的MKMapView。我已经使用界面构建器添加了mapview,并在viewDidAppear和viewWillDissappear中设置了showUserLocation选项。
问题是从视图返回或将应用程序置于后台时。位置服务图标不会消失。实际上我必须删除该应用程序才能使其消失。即使我手动强制关闭应用程序,它仍然存在,如果我进入设置,它仍然在使用位置服务的应用程序列表中处于活动状态。
我在下面添加了相关代码,我在这里缺少什么?提前谢谢!
的 的 * H:
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface ***viewController: UIViewController {
IBOutlet MKMapView *theMapView;
}
@property (nonatomic, retain) MKMapView *theMapView;
@end
的 的 *米
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
theMapView.showsUserLocation = YES;
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
theMapView.showsUserLocation = NO;
}
- (void)dealloc {
[super dealloc];
[theMapView release];
}
答案 0 :(得分:3)
我只是在猜测,这可能无法解决,但尝试在自己的声明中添加self
即
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.theMapView.showsUserLocation = YES;
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.theMapView.showsUserLocation = NO;
}
答案 1 :(得分:0)
您可以在应用进入并退出后台时注册通知,并分别保存和恢复用户位置状态:
count()