当UIViewController消失时如何停止位置管理器

时间:2012-03-12 19:26:06

标签: ios cllocationmanager cllocation

我在-viewDidLoad:方法中启动了位置管理器。同样,当用户移动到另一个视图时,我需要停止它。我该怎么做?

我试图在-viewDidUnload中停止它,但它没有用,因为我认为只有在内存不足时才会调用它。

2 个答案:

答案 0 :(得分:2)

您可以使用-viewWillAppear:-viewWillDisappear:来开始和停止定位用户,而不是-viewDidLoad / -viewDidUnload。可能有更好的方法来做到这一点;这就是我在自己的应用程序中做到的方式。

或者,您可以注册UIApplication次通知,例如UIApplicationWillResignActiveNotification,停止更新位置,以防用户按下主页按钮。我认为这是Maps.app实现的行为。

答案 1 :(得分:1)

您可以在创建/显示新UIView的方法/代码中停止它。