2010-07-31 44 views
1

隨着iOS4中的多任務處理,主頁按鈕將應用程序置於後臺,當它返回到前臺時,我希望View Controller'刷新'(並因此調用viewWillAppear)。我把這個應用程序的委託想這應該工作,但沒有任何反應iOS4中的應用程序委託和視圖控制器

- (void)applicationDidFinishLaunching:(UIApplication *)application {  

    // 
    [window addSubview:viewController.view]; 
    [window makeKeyAndVisible]; 
} 


- (void)applicationWillEnterForeground:(UIApplication *)application { 
    [viewController.view reloadInputViews]; 
} 

誰能幫我強迫視圖控制器「執行」 /刷新時,它已經顯示?

+0

請將代碼發佈到實例化viewController併發布reloadInputViewsCode。請記住,只有當您的應用處於暫停狀態時,纔會調用willEnterForeground。出於內存或其他原因,CPU可能隨時關閉大多數暫停的應用程序。在這種情況下,將調用applicationDidFinishLaunching。 – RunLoop 2010-07-31 04:35:49

+0

嗨Run Loop,請注意您的請求並添加上面。該應用程序讀取粘貼板並更新視圖中的數據。用戶可能會離開應用程序並將新數據複製到粘貼板,當他重新進入應用程序時,需要刷新視圖。這是在viewWillAppear中執行,並在iOS3中正常工作,現在在iOS4中調用applicationWillEnterForeground。但是,我如何告訴View Controller刷新並因此viewWillAppear執行? – munchine 2010-07-31 06:32:39

+0

沒有看到reloadInputViews的代碼很難,但看到我的答案在下面。 – RunLoop 2010-07-31 07:02:48

回答

1

您可以顯式調用viewWillAppear,例如,

- (void)applicationWillEnterForeground:(UIApplication *)application { 
    [viewController.view reloadInputViews]; 

    [viewController viewWillAppear]; 
} 
+0

太酷了,我甚至不知道你能做到這一點。測試它,它的工作(在simlulator,有其他問題在設備上,但我不認爲這是相關的)。對於其他讀者,我將使用這裏建議的工作http://stackoverflow.com/questions/3187642/ios4-removing-app-from-memory-via-code。但我要用Run Loop。 – munchine 2010-07-31 07:24:17

相關問題