uikit——Layout——概述
阿新 • • 發佈:2019-01-23
概述
Layout,即適配,view hierarchy layout方案,當UI變化時,view hierarchy layout需動態更新以適應UI變化,UI變化主要有兩類:- 外部變化
- 內部變化
外部變化
外部變化指父視窗尺寸或形狀發生變化,主要有以下來源:- 調整視窗大小(os x)
- ipad上進入或離開分割視窗(ios)
- 裝置旋轉(ios)
- 來電和錄音條顯示或消失(ios)
- 支援不同尺寸class
- 支援不同螢幕尺寸
內部變化
內部變化指視窗或控制元件尺寸發生變化,主要有以下來源:- 顯示內容變化(顯示文字或影象)
- 支援國際化(不同語言,不同地區日期和數字顯示格式,不同語言閱讀方向)
- 支援動態型別(不同字型大小)(ios)
Layout
三種主要layout方式:- 程式設計適配
- autoresizing
- auto layout
程式設計適配
設定view hierarchy中每個view frame(參考座標系為父視窗座標系)- 優點:靈活,功能強大
- 缺點:複雜,難度大
autoresizing
父視窗frame變化,子視窗frame對應變化,更多作為程式設計適配輔助手段- 優點:簡單
- 缺點:功能極其有限,對於複雜UI,需配合程式設計適配使用,只能適配外部變化,不能適配內部變化
auto layout
不考慮view frame,而考慮view之間關係- 優點:能適配外部變化,也能適配內部變化,能適配複雜UI
- 缺點:相對複雜,比程式設計適配簡單,比autoresizing複雜