下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、北京尚學(xué)堂提供原理:IOS6.0 之后,蘋果優(yōu)化了UI界面的布局方式,提出了自動布局的概念,和之前的autoresizing相比功能更強大。子視圖基于父視圖的自動布局顯示。都是父視圖去添加對子視圖的約束。在這里主要說的是通過代碼對自動布局視圖的實現(xiàn)。代碼中一般用到的有兩個添加約束的方式:1.- (void)addConstraint:(NSLayoutConstraint *)constraint NS_AVAILABLE_IOS(6_0);2.- (void)addConstraints:(NSArray *)constraints NS_AVAILABLE_IOS(6_0);<<
2、;/span>在使用自動布局之前要對子視圖的布局方式進行調(diào)整,用到這個UIView的屬性。- (BOOL)translatesAutoresizingMaskIntoConstraints NS_AVAILABLE_IOS(6_0); / Default YES需要將其設(shè)置為NO;下面用簡單例子說明一下: UIView *v1 = UIView alloc initWithFrame:CGRectZero; v1.translatesAutoresizingMaskIntoConstraints = NO; &
3、#160; v1.backgroundColor = UIColor redColor; self.view addSubview:v1; UIView *v2 = UIView alloc initWithFrame:CGRectZero; v2.backgroundColor = UIColor grayColor; v2.translatesAutoresizingMaskIntoCo
4、nstraints = NO; self.view addSubview:v2;/添加兩個允許自動布局的子視圖 self.view addConstraint:NSLayoutConstraint constraintWithItem:v1
5、160; attribute:NSLayoutAttributeWidth
6、 relatedBy:NS
7、LayoutRelationEqual
8、; toItem:self.view &
9、#160; attribute:NSLayoutAttributeWidth
10、; multiplier:1.0
11、60; constant:
12、0;/設(shè)置子視圖的寬度和父視圖的寬度相同 self.view addConstraint:NSLayoutConstraint constraintWithItem:v1
13、 attribute:NSLayoutAttributeHeight
14、60; relatedBy:NSLayoutRelationEqual
15、160;
16、160; toItem:self.view
17、0; attribute:NSLayoutAttributeHeight &
18、#160; multiplier:0.5
19、; constant:0;/設(shè)置子視圖的高度是父視圖高度的一半 self.view ad
20、dConstraints:NSLayoutConstraint constraintsWithVisualFormat:"H:|-0-v1v2(=v1)-0-|" options:0 metrics:nil views:views;/通過addConstraints 添加對水平方向上v1的控制-距離父視圖左側(cè)距離為0(距離為0的話也可省略)同時將v2的水平方向的寬度和v1設(shè)置成相同 self.view addConstraints:NSLayoutConstraint constraintsWithVisualFormat:&q
21、uot;V:|-0-v1v2(=v1)|" options:0 metrics:nil views:views;/通過addConstraints 添加對垂直方向上v1的控制-距離父視圖上側(cè)距離為0(距離為0的話也可省略)同時將v2的垂直方向的高度和v1設(shè)置成相同 self.view addConstraints:NSLayoutConstraint constraintsWithVisualFormat:"V:|-0-v1-0-v2-0-|" options:0 met
22、rics:nil views:views;/最后是垂直布局兩個子view這樣就可以實現(xiàn)上下兩個view,各占一半。旋轉(zhuǎn)屏幕的情況下也會自動處理布局。這樣看起來代碼多,但是可以適應(yīng)多種分辨率的屏幕。不排除以后蘋果出更大更多分辨率的手機。關(guān)于constraintsWithVisualFormat:函數(shù)介紹:constraintsWithVisualFormat:參數(shù)為NSString型,指定Contsraint的屬性,是垂直方向的限定還是水平方向的限定,參數(shù)定義一般如下:V:|-(>=XXX) :表示垂直方向上相對于SuperView大于、等于、小于某個距離若是要定義水平方向,則將V:改成H
23、:即可在接著后面-中括號里面對當(dāng)前的View/控件 的高度/寬度進行設(shè)定;options:字典類型的值;這里的值一般在系統(tǒng)定義的一個enum里面選取metrics:nil;一般為nil ,參數(shù)類型為NSDictionary,從外部傳入 /衡量標(biāo)準(zhǔn)views:就是上面所加入到NSDictionary中的綁定的View在這里要注意的是 AddConstraints 和 AddConstraint 之間的區(qū)別,一個添加的參數(shù)是NSArray,一個是NSLayoutConstraint使用規(guī)則|: 表示父視圖 -:表示距離 V: :表示垂直 H: :表示水平>= :表示視圖間距、寬度和高度必須大于或等于某個值 <= :表示視
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)澆樓蓋 課程設(shè)計
- 2025年度地下空間開發(fā)個人工程勞務(wù)分包合同范本4篇
- 2024年心理咨詢師題庫附答案(典型題)
- 二零二五版門衛(wèi)服務(wù)外包與社區(qū)安全防范系統(tǒng)承包4篇
- 2025年度草坪圍欄施工與智慧城市建設(shè)合同3篇
- 植筋膠施工方案
- 二零二五年度棉花品牌建設(shè)與推廣合同4篇
- 2024酒店宴會廳租賃與客戶服務(wù)協(xié)議版B版
- 地板磚拆除施工方案
- 工地跳板擋墻施工方案
- 10kV架空線路專項施工方案
- OGSM戰(zhàn)略規(guī)劃框架:實現(xiàn)企業(yè)目標(biāo)的系統(tǒng)化方法論
- 遼寧省大連市中山區(qū)2023-2024學(xué)年七年級下學(xué)期期末數(shù)學(xué)試題
- 2023年版《安寧療護實踐指南(試行)》解讀課件
- 2024年新課標(biāo)高考化學(xué)試卷(適用黑龍江、遼寧、吉林地區(qū) 真題+答案)
- AQ6111-2023個體防護裝備安全管理規(guī)范
- 鈷酸鋰-安全技術(shù)說明書MSDS
- 江蘇省“大唐杯”全國大學(xué)生新一代信息通信技術(shù)大賽省賽題庫(含答案)
- (正式版)JBT 9229-2024 剪叉式升降工作平臺
- 如何做好談話筆錄
- 偏頭痛的治療及護理
評論
0/150
提交評論