![【移動應用開發(fā)技術(shù)】iOS9新特性之UIStackView_第1頁](http://file4.renrendoc.com/view/b38062db3fd14b88519e29c5ad319615/b38062db3fd14b88519e29c5ad3196151.gif)
![【移動應用開發(fā)技術(shù)】iOS9新特性之UIStackView_第2頁](http://file4.renrendoc.com/view/b38062db3fd14b88519e29c5ad319615/b38062db3fd14b88519e29c5ad3196152.gif)
![【移動應用開發(fā)技術(shù)】iOS9新特性之UIStackView_第3頁](http://file4.renrendoc.com/view/b38062db3fd14b88519e29c5ad319615/b38062db3fd14b88519e29c5ad3196153.gif)
![【移動應用開發(fā)技術(shù)】iOS9新特性之UIStackView_第4頁](http://file4.renrendoc.com/view/b38062db3fd14b88519e29c5ad319615/b38062db3fd14b88519e29c5ad3196154.gif)
![【移動應用開發(fā)技術(shù)】iOS9新特性之UIStackView_第5頁](http://file4.renrendoc.com/view/b38062db3fd14b88519e29c5ad319615/b38062db3fd14b88519e29c5ad3196155.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
【移動應用開發(fā)技術(shù)】iOS9新特性之UIStackView
1.UIStackView相關(guān)屬性理解UIStackView是iOS9之后推出的,我也是第一次接觸,在學習的過程中對于其中的相關(guān)屬性,尤其是對其中的distribution幾個屬性值,一知半解的,所以特寫此文通過代碼實例理解它們每個屬性的區(qū)別。UIStackView主要包括了四大屬性:axis、alignment、distribution、spacing。一、axis主要設置UIStackView布局的方向:水平方向或垂直方向。二、alignment主要設置非軸方向子視圖的對齊方式。具體顯示效果如下:
fill
top
center
bottom
firstbaseline三、distribution設置軸方向上子視圖的分布比例(如果axis是水平方向,也即設置子視圖的寬度,如果axis是垂直方向,則是設置子視圖的高度)。下面以axis=UILayoutConstraintAxisHorizontal,alignment=UIStackViewAlignmentCenter為例:往UIStackView中添加三個UIView,第一個UIView設為40100,第二個UIView設為8080,第一個UIView設為120*60,通過實例來說明每個屬性的區(qū)別:(1)UIStackViewDistributionFill=0,默認屬性,軸方向上填充UIStackView。如果axis為水平方向,則所有子視圖的寬度等于UIStackView的寬,所以如果只有一個子視圖,則子視圖的寬度就等于UIStackView的寬,如果有兩個子視圖,且優(yōu)先級一樣,則會拉伸或壓縮某個子視圖,使兩個子視圖的寬度之和等于UIStackView的寬……,如果axis是垂直方向,則所有子視圖的高度等于UIStackView的高,必要時會拉伸或壓縮某個子視圖。上面是在子視圖優(yōu)先級一致的情況下,如果子視圖優(yōu)先級不一致,則會按優(yōu)先級從高到低設置子視圖的位置,對優(yōu)先級最低的子視圖進行必要的拉伸或壓縮。設置distribution=UIStackViewDistributionFill后顯示效果:UIStackViewDistributionFill如圖所示,由于三個子視圖的寬度之和不夠UIStackView的寬度,優(yōu)先級又一致,所以第三個子視圖被拉伸了。當然,我們可以修改某個子視圖的優(yōu)先級來讓其被拉伸。(2)UIStackViewDistributionFillEqually,該屬性設置后使所有子視圖在軸方向上等寬或等高。即如果是水平方向,所有子視圖都會被必要的拉伸或壓縮,使得每個子視圖的寬度一致,原來設置的子視圖的寬度都會被忽略;如果是垂直方向,所有子視圖的高度也會保持一致,如下所示:UIStackViewDistributionFillEqually(3)UIStackViewDistributionFillProportionally該屬性設置后會根據(jù)原先子視圖的比例來拉伸或壓縮子視圖的寬或高,如實例中三個子視圖原先設置的寬度是1:2:3,所以水平方向上顯示時,會按照這個比例進行拉伸,如下圖所示,拉伸后的寬度依然是1:2:3。UIStackViewDistributionFillProportionally(4)UIStackViewDistributionEqualSpacing該屬性會保持子視圖的寬高,所有子視圖中間的間隔保持一致。如下圖所示,圖中子視圖的間隔(綠線所示的長度)都是一致的。
UIStackViewDistributionEqualSpacing(5)UIStackViewDistributionEqualCentering該屬性是控制所有子視圖的中心之間的距離保持一致,如下圖所示,子視圖中心點之間的間隔(綠線所示的長度)是一致的。UIStackViewDistributionEqualCentering四、spacing該屬性控制子視圖之間的間隔大小,在distribution前三個屬性值設置的情況下,子視圖之間是沒有間隔,我們可以通過spacing屬性顯式的設置,如下圖在distribution=UIStackViewDistributionFillEqually情況下,設置子視圖間隔為10,子視圖之間間隔都為10,且子視圖依然等寬。spacing=102.進階我們可以從InterfaceBuilder右側(cè)的操作面板中,選擇UIStackView控件直接拖到XIB中??梢赃x擇Horizontal和Vertical兩個方向的UIStackView,也可以在拖到XIB中之后手動修改。然后將兩個View拖到這個UIStackView中,父視圖也可以將UIStackView作為子視圖來進行多層UIStackView嵌套,這也是蘋果推薦的做法。打開右側(cè)設置面板來設置UIStackView的一些屬性,達到更好的布局效果。除了上面的方法也可以在XIB中直接選擇多個View,然后點擊右下方的Stack按鈕,系統(tǒng)會自動推斷布局方式,幫我們自動布局子視圖,我們可以在系統(tǒng)布局之后在手動進行調(diào)整。代碼布局其實本質(zhì)上就是對數(shù)組進行操作,數(shù)組中存儲的是UIStackView的子視圖。然后通過設置UIStackView的枚舉值屬性進行頁面排布。代碼布局的方式這里
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025公司與員工解除勞動合同范本
- 2024年春八年級生物下冊 23.1 生物的生存依賴一定的環(huán)境說課稿 (新版)北師大版
- 2025寫字樓租賃合同寫字樓租賃合同模板
- Unit 6 Jobs Lesson 6 story time.(說課稿)-2024-2025學年人教新起點版英語四年級上冊
- 7 《包身工》 說課稿 2024-2025學年統(tǒng)編版高中語文選擇性必修中冊
- Unit5 What do they do(說課稿)-2024-2025學年譯林版(三起)英語五年級上冊
- 西班牙瓦鋪貼施工方案
- 迎春燈飾施工方案
- 20美麗的小興安嶺說課稿-2024-2025學年三年級上冊語文統(tǒng)編版
- 12《富起來到強起來》(說課稿)統(tǒng)編版道德與法治五年級下冊
- CJT 354-2010 城市軌道交通車輛空調(diào)、采暖及通風裝置技術(shù)條件
- 暑假作業(yè) 11 高二英語語法填空20篇(原卷版)-【暑假分層作業(yè)】2024年高二英語暑假培優(yōu)練(人教版2019)
- 小學數(shù)學教學評一體化教學探究
- 2024年江西省南昌市南昌縣中考一模數(shù)學試題(含解析)
- 2024年保安員考試題庫【典型題】
- 人教版數(shù)學八年級下冊第十九章課堂同步練習
- 繪本的分鏡設計-分鏡的編排
- 查干淖爾一號井環(huán)評
- 售后工程師績效考核指南
- 體檢中心分析報告
- 人教版初中英語七八九全部單詞(打印版)
評論
0/150
提交評論