我在根UIView中顯示大量的UIViews。 (我知道這不是一個好習慣)。子視圖包括使用Quartz繪製一些行的UIImageViews,UILabels和自定義UIViews。在生成所有視圖後,我將根視圖添加到UISCrollView中以顯示它們。問題是,所有圖像都會立即顯示,但標籤中的文本和我在drawRect方法中繪製的線條需要很長時間才能顯示。如果我縮放滾動視圖,它們都會立即顯示。有什麼問題?謝謝。UIView需要很長時間才能顯示
回答
很難說沒有看到你的代碼,但聽起來像你的應用程序的東西。 iOS可以處理一個大子視圖的數量而不會窒息或口吃。而且所有的東西都是單線程的 - 事實上,據我所知,所有的渲染都發生在同一個運行循環中(CATiledLayer
-backed視圖是我能想到的唯一例外)。所以即使渲染陷入困境,我也會期待一段很長的停頓,然後一切顯示出來。不是你描述的零碎結果。
您是以編程方式或從筆尖添加視圖嗎?一切都在同一個筆尖,還是一些東西在他們自己的獨立筆尖?你的UIViewController
情況是什麼樣子的?
試着在顯示較晚的東西中彈出一些日誌記錄。他們的-drawRect:
是否真的被叫得很晚,還是被其他所有事情調用,並被別的東西遮擋了?試着開始一個沒有任何內容的新的乾淨的應用程序,並將你的每個子視圖放在那裏看看它們是如何獨立執行的?請特別注意您使用GCD,線程或preform:AfterDelay:
類型調用的任何地方。
如果所有的失敗,作爲示例項目發佈,所以我們可以真正調試你所做的。
+1的方法... – tipycalFlow
...和+1的多個建議。但是對於Eric Wong:我們需要看到你的代碼是確定的。 – Sum
今天我發現了一個'UIButton','UILabel'或者另一個包含文本的控件,如果其上使用的字體在項目中不存在,則需要很長時間才能加載。我從另一個項目導入了一個自定義控件,Xcode試圖使用它的字體,儘管它在我當前的項目中不存在。字體甚至顯示在屬性檢查器中。沒有任何警告或錯誤消息。果然,在我改變字體之後,性能還是很好的。 – Alexander
- 1. 用UIActivityIndicatorView顯示UIView需要很長時間才能做點什麼
- 2. 需要很長時間才能顯示的MySQL查詢
- 3. VS2010需要很長時間才能顯示項目屬性
- 4. mobile.loading需要很長時間才能顯示
- 5. 鳴叫blender需要很長時間才能顯示鳴叫
- 6. Firebase日誌的雲端函數需要很長時間才能顯示?
- 7. 創建FCM主題需要很長時間才能顯示在控制檯中
- 8. 爲什麼UAC對話框需要很長時間才能顯示?
- 9. MKOverlay需要很長時間才能顯示來自異步調用
- 10. Android應用有時需要很長時間才能加載
- 11. Process.Start有時需要很長時間才能返回
- 12. 的Adobe AMF有時需要很長時間才能連接
- 13. Android活動需要太長的時間才能顯示內容
- 14. Powershell輸出需要更長的時間才能顯示
- 15. 分享意圖需要較長時間才能顯示
- 16. 爲什麼phpMyAdmin需要很長時間才能顯示查詢,但顯示查詢執行得很快?
- 17. FB.getLoginStatus需要很長時間才能響應
- 18. Ravendb Savechanges();需要很長時間才能運行?
- 19. flash.media.Sound.play需要很長時間才能返回
- 20. Ehcache集羣需要很長時間才能在Tomcat上啓動
- 21. sp_reset_connection需要很長時間才能運行
- 22. 簡單查詢需要很長時間才能執行
- 23. CakePHP 2.2/AclExtras/aco_sync需要很長時間才能執行
- 24. 豬需要很長時間才能扎進Hbase
- 25. 圖片資源需要很長時間才能加載
- 26. Android工作室需要很長時間才能打開
- 27. C#SerialPort.Write需要很長時間才能寫入數據
- 28. Google地圖需要很長時間才能加載
- 29. Wordpress網站需要很長時間才能加載
- 30. Mysql查詢需要很長時間才能執行
顯示您正在使用的代碼。 – WrightsCS