iOS純代碼自動布局的那些事(簡介)


由於本人也是才開始學習自動布局,所以可能會出現錯誤,請大家多多包含,並指出錯誤

關於自動布局,現在很多介紹用xib和storyboard,但是純代碼使用Autolayout越來越少了

下面主要大概的介紹下這幾天學習純代碼使用Autolayout的一些可能有用的東西吧。

首先先創建3個UIView

並對view進行初始化

 

在使用自動布局之前要對子視圖的布局方式進行調整,用到

translatesAutoresizingMaskIntoConstraints這個UIView的屬性,並且把它設置為no

OK!前期的准備工作已經做完,下面開始就要進入正題

首先我們要達到這樣的效果

有3種方式

1.使用VFL語言添加約束

2.一個一個的添加約束

3.一組一組的添加約束

一.使用VFL語言添加約束

添加完這些約束運行程序,就達到開始的效果

注釋:

|: 表示父視圖

  -:表示距離

  V:  :表示垂直

  H:  :表示水平

>= :表示視圖間距、寬度和高度必須大於或等於某個值

    <= :表示視圖間距、寬度和高度必須小宇或等於某個值

    == :表示視圖間距、寬度或者高度必須等於某個值

@  :>=、<=、==  限制   最大為  1000

 

1.|-[view]-|:  視圖處在父視圖的左右邊緣內

2.|-[view]  :   視圖處在父視圖的左邊緣

3.|[view]   :   視圖和父視圖左邊對齊

4.-[view]-  :  設置視圖的寬度高度

5.|-30.0-[view]-30.0-|:  表示離父視圖 左右間距  30

6.[view(200.0)] : 表示視圖寬度為 200.0

7.|-[view(view1)]-[view1]-| :表示視圖寬度一樣,並且在父視圖左右邊緣內

8. V:|-[view(50.0)] : 視圖高度為  50

9: V:|-(==padding)-[imageView]->=0-[button]-(==padding)-| : 表示離父視圖的距離

為Padding,這兩個視圖間距必須大於或等於0並且距離底部父視圖為 padding。

10:  [wideView(>=60@700)]  :視圖的寬度為至少為60 不能超過  700

11: 如果沒有聲明方向默認為  水平  V:

 

2.一個一個的添加約束

主要使用這個方法

- (void)addConstraint:(NSLayoutConstraint *)constraint;

 

這樣也能達到使用VFL語言的效果

 

3.一組一組的添加約束

主要使用這個方法

- (void)addConstraints:(NSArray *)constraints;

以上3種方法都能達到上面的效果,但是大家不難發現,2,3種方法的代碼量遠遠大於第一種,在實際使用中我想大家使用第一種方法。

 

自適應布局--簡介就介紹到這個地方,以后還會有更加詳細的講解。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM