2012-03-12 73 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