2011-05-20 80 views
1

因此,我在這個iPAd應用程序,我正在測試大約4視圖控制器。在應用程序變爲非活動狀態之前,TableViewController是presnet。當我按下iPhone上的按鈕,它會引發如何恢復過程applicationDidBecomeActive

-(void)applicationWillResignActive:(UIApplication *)application 

當我重新開始,我希望應用程序恢復與過程,與加載的表,並顯示「屏幕」之前可用我按下了按鈕。

我可以理解,

-(void)applicationDidBecomeActive:(UIApplication *)application 

參與了本次活動。你能告訴我如何實際上帶來一個特定的視圖控制器的事件恢復過程??

謝謝。

+0

applicationWillResignActive不應該以手工方式調用。這是一個回調,當你按主頁按鈕退出一個應用程序,然後進入多任務模式時,它會自動調用。你到底想要做什麼?如果你詳細地說一下,這裏的某個人將能夠幫助實施一個更清潔的解決方案,它將以正確的方式處理事情:) .... – Sid 2011-05-20 17:30:40

+0

@Siddharth艾爾:對不起人。我是StackOverflow的新手 - 我不知道我需要接受答案......對此抱歉。我編輯了問題並添加了關於表視圖控制器的信息。 – Legolas 2011-05-20 17:36:04

+0

你不需要抱歉!我只是很好,並讓你知道之前有人燒你大聲笑.... – Sid 2011-05-20 17:39:16

回答

5

你可以註冊你自己的UIViewControllers作爲'UIApplicationDidBecomeActiveNotification的觀察者。

在您的視圖控制器:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(applicationDidBecomeActive:) 
              name:UIApplicationDidBecomeActiveNotification 
              object:nil]; 

不要忘記刪除它們作爲觀察員在自己的dealloc方法:

- (void)dealloc { 
    ... 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil]; 
    [super dealloc]; 
} 
+0

你也可以把代碼dealloc? – Legolas 2011-05-20 17:44:43

+0

用刪除觀察者的代碼更新。 – hwaxxer 2011-05-20 17:51:50

+0

我可以將所有UIViewControllers註冊爲觀察者,並同時返回所有UIViewController嗎? – Legolas 2011-05-20 17:58:24