比方說,我有一個全屏幕UIView
當按鈕被觸摸時覆蓋主屏幕,然後就離開這個時候重疊視圖感動。可以使用addSubview:
和removeFromSuperview
將UIView
添加到當前視圖並將其從當前視圖中刪除,也可以在當前視圖初始化後添加,然後通過訪問和設置UIView
的hidden
屬性進行顯示和隱藏。性能通常更快,更好(或者它們是相同的)?速度的UIView添加/ /刪除子視圖與隱藏顯示
4
A
回答
2
我敢打賭,顯示和隱藏會更快。另一種方式需要創建/銷燬對象,以及子視圖。
更重要的是,我想顯示和隱藏將是簡單的,以及對複雜的鬥爭中是至關重要的。
1
我也嘗試添加的ImageView,並嘗試環路100萬倍隱藏和顯示在每個循環,並添加在每個循環中刪除。結果隱藏並顯示取1s做1000000循環。並添加刪除3秒。我這樣做是在模擬器:)
0
粘土說,顯示隱藏很可能會更快,但你需要靈敏的儀器來檢測的差異。最多隻有一位數百分之一秒,可能比這少得多。你將無法通過「眼睛」來感覺到這種差異。
因此,重要的是其他的東西,比如什麼是最容易理解和維護?在視圖控制器中存在一個視圖存在的問題,並且很好地顯示/隱藏該視圖的問題是視圖的佈局覆蓋視圖控制器的其他內容,並且使其難以管理。
您可以創建第二個XIB(或與故事板配合使用的XIB),它具有視圖控制器的類,因爲它是「文件的所有者」,並將IBOutlets鏈接到所需的視圖。然後在需要時從XIB加載視圖,將其安裝爲當前視圖的子視圖。然後,當你完成它時,將它從超級視圖中移除。我使用這種方法相當數量。
相關問題
- 1. 顯示/隱藏子視圖
- 2. jQuery的工具提示:添加/刪除與顯示/隱藏
- 3. 顯示/隱藏視圖
- 4. 顯示隱藏視圖
- 5. 的NSView顯示和隱藏子視圖
- 6. 刪除添加子視圖
- 7. 隱藏uiview,但不是子視圖?
- 8. 顯示/隱藏時刪除的文本顯示/隱藏
- 9. UIView子視圖不顯示
- 10. 無法從self.navigationcontroller.view中刪除/隱藏最近添加的視圖
- 11. UIView:隱藏繪圖並再次顯示
- 12. 向/從UIView中添加/刪除子視圖時平滑縮放
- 13. iOS UIView在整個代碼中添加和刪除子視圖
- 14. 添加子視圖到NSView顯示,但不能刪除
- 15. jQuery slideToggle,顯示/隱藏速度
- 16. AngularJS動畫(顯示/隱藏)速度
- 17. UIView地獄。隱藏一個子視圖隱藏它們全部
- 18. jQuery顯示/隱藏 - 添加/刪除.active類
- 19. 隱藏/顯示UI元素VS添加/刪除(SWIFT)
- 20. 添加/刪除或顯示/隱藏下拉列表項
- 21. 拉斐爾:如何添加/刪除或顯示/隱藏紙
- 22. 添加並刪除類使div顯示和隱藏
- 23. UIPickerView不顯示UIView中的添加子視圖
- 24. 迅速+隱藏或移除UIView
- 25. 隱藏視圖,但仍顯示UIWebView
- 26. 刪除UIView動畫加速
- 27. 複合WPF:顯示/隱藏視圖?
- 28. 錶行顯示/隱藏 - 刪除()
- 29. 隱藏和顯示(子視圖)按鈕或更改標題?
- 30. 在Xamarin Studio中隱藏/刪除子視圖
我同意它似乎更復雜,但它真的是對象創建/銷燬?如果我創建了疊加層,請在超級視圖上附加一個指向它的指針,並根據需要將它從視圖中添加/刪除,是不是隻是一個指針交換?我只用了一次alloc/init。 –
好的,但是很難看到任何好處。無論如何,隱藏的子視圖在合成時都會被忽略。看起來像我不成熟的優化(參見http://en.wikipedia.org/wiki/Program_optimization)。 –
是否有工具來檢查性能? –