2011-08-20 33 views
1

在我的應用我有一個按鈕,當用戶點擊它,它帶來了它獲取用戶的位置(用UIActivityIndicator和圖像),一個模式視圖控制器。當它有它的位置時,它會將它們發送給另一個應用程序。刪除模態視圖控制器,當應用變得活躍

這非常適用於舊設備(無需多任務),因爲該應用程序只需重新啓動回到之前的狀態我回去之後。

然而在具有多任務,當我恢復應用程序的設備,告訴它得到他們的位置仍然有用戶的觀點 - 這是不是在所有期望。

我的第一個想法是設置一個BOOL,當它打算將它們釋放到另一個應用程序,然後在viewDidAppear中,如果BOOL爲true,則關閉模態視圖。

如果在應用程序恢復活動時調用viewDidAppear,那會有效。正如我剛剛所瞭解的,事實並非如此。

是否有視圖控制器可以向時,應用程序恢復活性迴應這種觀點的方法?或者,我將不得不與應用程序代表一起設置代表團等?如果是這樣,你能解釋我將如何做到這一點?

回答

5

,當應用程序被激活,您可以發送通知和收聽到你modalviewcontroller。我認爲這是最簡單的方法。

// Into the app delegate 
- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"ApplicationDidBecomeActive" object:nil]; 
} 

// Into your modal view controller register it for the given notification 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidBecomeActive:) name:@"ApplicationDidBecomeActive" object:nil]; 

- (void)applicationDidBecomeActive:(NSNotification *)notification 
{ 
//... 
} 

否則,您可以通過設置「UIApplicationExitsOnSuspend」關鍵是在Info.plist文件中禁用應用程序的後臺模式。

相關問題