天天看點

使用編碼添加限制的規則

  • 對于兩個同層級View之間的限制關系,添加到他們的父View上。
  • 對于兩個不同層級View之間的限制關系,添加到他們最近的共同的父View上
  • 對于有層次關系的兩個View之間的限制關系,添加到層次較高的父View上

編碼建立限制的幾種方法:       1.建立簡單的限制,一般作用于單一的對象,或者對象之間的間距     + (NSArray *)constraintsWithVisualFormat:(NSString *)format       options:(NSLayoutFormatOptions)opts       metrics:(NSDictionary *)metrics         views:(NSDictionary *)views;              2.建立類似于view1.attr1 = view2.attr2 * multiplier + constant這樣的限制     +(id)constraintWithItem:(id)view1    attribute:(NSLayoutAttribute)attr1    relatedBy:(NSLayoutRelation)relation       toItem:(id)view2    attribute:(NSLayoutAttribute)attr2   multiplier:(CGFloat)multiplier     constant:(CGFloat)c;  

官方文檔的例子: Standard Space

[button]-[textField]       //标準間隔,兩個view之間隻用"-",沒有數字的時候就是标準間隔

使用編碼添加限制的規則

Width Constraint

[button(>=50)]  //寬度限制,限制view的寬度的最小值為50

使用編碼添加限制的規則

Connection to Superview

|-50-[purpleBox]-50-|   //與父視圖間隔,到父視圖的左右都為50的間距

使用編碼添加限制的規則

Vertical Layout

V:[topField]-10-[bottomField]  //兩個view的垂直間隔,間距為10

使用編碼添加限制的規則

Flush Views

[maroonView][blueView]  //兩個view之間無間隔

使用編碼添加限制的規則

Priority

[button([email protected])]    //優先級,表示設定寬度為100,優先級為20

使用編碼添加限制的規則

Equal Widths

[button1(==button2)]  //等寬

使用編碼添加限制的規則

Multiple Predicates

[flexibleButton(>=70,<=100)]   //寬度範圍限制, 大于等于70, 小于等于100

使用編碼添加限制的規則

A Complete Line of Layout

|-[find]-[findNext]-[findField(>=20)]-|   //多視圖排列

使用編碼添加限制的規則

繼續閱讀