我通過在iPhone應用程序上拖動手指繪製多種顏色,但是當我最小化應用程序然後最大化時,我將失去所有繪圖,因爲它調用繪圖方法。我不知道從何處調用此方法,但我無法看到此問題的任何解決方案。主要是當我在設備上運行許多應用程序時發生。我認爲iOS會刪除緩衝區中的所有數據,以防止iPhone的低性能。這個問題的解決方案是什麼?爲什麼它失去了繪圖?請幫忙!我沒有找到任何解決這個問題的方法。當應用程序在前臺丟失所有繪圖
0
A
回答
0
該框架將根據需要調用drawRect,它是您調用時繪製視圖的責任。無論何時調用drawRect,您都應該存儲用戶操作所需的任何狀態以重繪視圖。
1
因爲您的視圖在後臺卸載,並且當您回到前臺時,視圖將被撤消,因此它將重新繪製。
當你進入後臺時,如果設備內存不足,Apple會卸載後臺應用程序的視圖(甚至關閉你的應用程序),以擴大當前正在運行的應用程序的內存。您的視圖會被卸載,當您回到前臺時,視圖將通過「數據」進行調整,因此請確保不要在視圖中保留「數據」。
也許在iOS6的,蘋果修改機制
1
我失去了我所有的圖紙,因爲它調用的drawRect方法。
從你的問題,它好像你是不是在你的drawRect方法繪製, 的drawRect方法被調用每次你的觀點是更新/加載時間。所以當你從背景輸入時,調用drawrect方法。如果您沒有使用正確的方法處理繪圖機制,則會丟失所有數據。
此方法的默認實現不執行任何操作。使用原生繪圖技術(例如Core Graphics和UIKit) 繪製其視圖內容的子類 應覆蓋此方法並在其中執行 其繪製代碼。如果您的視圖以其他方式設置其內容,則不需要覆蓋此方法。例如,如果您的視圖僅顯示背景顏色 或您的視圖使用底層 對象直接設置其內容,則不需要 覆蓋此方法。同樣,如果您的視圖 使用OpenGL ES進行繪製,則不應該重寫此方法。
如果你正在處理它的其他方式,那麼你需要處理,你的觀點是在viewWillAppear中繪製在後。
否則可能會有內存原因,因爲如果你得到內存警告,你通常會在初始化數據的地方調用ViewDidLoad。
相關問題
- 1. 當應用程序轉到後臺時網絡連接丟失
- 2. 當前haskell平臺丟失fork最後
- 3. nhibernate當前會話在後臺線程上創建後丟失
- 4. 應用程序/任務圖標丟失
- 5. iPhone應用程序丟失圖形
- 6. FCM推送通知沒有收到當應用程序在前臺,但收到當應用程序在後臺
- 7. 智能GPS使用 - 只有當應用程序在前臺
- 8. 導航欄是基於的TabBar應用程序有時會丟失當應用程序進入到後臺
- 9. 有道當應用程序在後臺
- 10. GcmListenerService onMessageReceived稱爲只有當應用程序在前臺
- 11. 只有當應用程序在前臺時,Toast纔會出現?
- 12. 即使應用程序處於前臺,圖塊創建失敗
- 13. iPhone Web應用程序 - 呼叫應答時會話和當前網址丟失
- 14. 如何確定當前的應用程序在前臺?
- 15. 使用意圖的圖像捕捉應用程序只保存當前圖片..previouse圖片每次丟失
- 16. JSF2 LogicalViews - 丟失當前頁從地圖
- 17. 當應用程序在設備中運行時UIImageView丟失
- 18. 控制檯應用程序模板丟失
- 19. Silverlight業務應用程序OOB - 丟失焦點後所有內容消失
- 20. 當應用程序處於後臺時終止所有活動
- 21. 迭代當前應用程序的所有用戶設置
- 22. 禁用與當前應用程序相關的所有窗口
- 23. 帶有網格視圖的UWP應用程序在滾動時丟失圖像
- 24. Android KitKat:在卸載應用程序時執行後臺服務(或丟失前臺)
- 25. 在Eclipse中我的Android應用程序中丟失了所有東西?
- 26. java應用程序TCP連接丟失檢測在Windows 7中有所不同?
- 27. 獲取當前前臺應用程序的名稱
- 28. 我怎麼能自動停止,當應用程序在前臺狀態即將所有後臺任務
- 29. 應用程序在後臺消失
- 30. 在當前運行的應用程序中繪製小活動