使用iPhone SDK 4.1。有時,當從iPhone 3GS設備的背景狀態返回時,返回的視圖丟失了其圖像或標籤之一。當從後臺返回時,viewDidAppear
方法 不會被調用。有沒有辦法強制 重新加載視圖,以便這些方法被調用?從背景返回時重新加載視圖
1
A
回答
3
如果您的應用程序因嘗試在RAM(在本例中爲圖像)中存儲太多數據而收到內存警告,通常會發生這種情況。
要測試是否出現這種情況,您可以在didReceiveMemoryWarning消息中執行NSLog調用,也可以繼承UIImage並擴展其dealloc,並在其中放入一條NSLog消息,例如「正在處理圖像」,然後檢查被寫入控制檯。如果你想檢查它而不在調試器(也就是沒有控制檯),你可以在mainwindow xib中的最前面創建一個調試UILabel(所以它總是可見的),它的文本值被設置而不是寫入NSLog。通過這種方式,即使返回到程序後,也能看到發生了什麼。
最好的辦法是將didReceiveMemoryWarning和UILabel對象一起使用。
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
[email protected]"Did receive memory warning";
}
爲了解決這個問題(即重新加載圖像),你可以註冊一個觀點,從通知中心收到 的UIApplicationWillEnterForegroundNotification,然後調用必要再裝電話,即檢查該圖像是零(已發佈)並應該重新加載。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(viewNeedsReload) name:UIApplicationWillEnterForegroundNotification object:nil];
- (void) viewNeedsReload
{
//Check validity of each image here and reload if necessary
}
相關問題
- 1. iPhone:從前景/背景切換回來後重新加載視圖?
- 2. 從控制器返回部分視圖時重新加載jQuery?
- 3. 強制背景圖像重新加載
- 4. 固定背景圖像,加載新視圖時不會移動
- 5. 如何在返回tableview時重新加載視圖?
- 6. 從背景加載圖片
- 7. 當從Utility應用程序的FlipSideView返回時強制重新加載視圖
- 8. 當調用一個方法來重新加載視圖從背景
- 9. UICollectionView重新加載收集背景
- 10. 從Sperate視圖重新加載UIWebView
- 11. 白色小的差距加載背景圖像視圖時
- 12. 重新加載視圖
- 13. 重新加載視圖?
- 14. 重新加載視圖iPhone
- 15. 重新加載Eclipse視圖
- 16. 重新加載集合視圖返回到先前的視圖控制器
- 17. 從其他視圖回來後從表視圖重新加載數據
- 18. 如何確定從iOS中的背景返回到前臺時加載哪個視圖?
- 19. 從url加載圖像到picturebox背景
- 20. iPhone NSMutableArray從url加載背景圖像
- 21. 在flash加載時的背景圖片
- 22. 有時僅加載背景圖片
- 23. 用戶刷新頁面時加載不同的視頻背景
- 24. 如何用背景圖像爲背景顏色重新添加背景顏色?
- 25. 懸停後重新加載背景圖片?
- 26. 更改背景圖片上重新加載
- 27. pyqtgraph - 僅在重新加載後才加載背景顏色
- 28. 控制應用程序何時刷新從背景返回
- 29. 背景圖片未加載
- 30. 預加載背景圖像