2012-03-12 75 views

回答

2

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

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

+0

我也尝试viewWillDisappear,但我注意到位置更新仍在触发。 – user836026 2012-03-12 20:10:48

+0

“位置更新仍在触发”,你是指状态栏中的图标? – Canopus 2012-03-12 20:14:25

+0

不,我的意思是“locationManager:(CLLocationManager *)”仍然被调用。但我尝试了其他建议“UIApplicationWillResignActiveNotification”,它的工作原理! – user836026 2012-03-12 20:19:18

1

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

+0

UIView由故事板创建,所以我无法控制。 – user836026 2012-03-12 19:45:32

+1

然后,您可以在UIViewController prepareForSegue中适当地启动/停止它:sender: – 2012-03-12 19:58:05