MKMapView关闭位置服务

时间:2011-11-21 11:38:07

标签: iphone ios mkmapview

我在我的应用程序中使用带有“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];
}

2 个答案:

答案 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()