[NSLayoutConstraint constraintsWithVisualFormat:<visual format string>ide
options:<options>metrics:<metrics>
views: <views dictionary>
];
constraintsWithVisualFormat:參數爲NSString型,指定Contsraint的屬性,是垂直方向的限定仍是水平方向的限定,參數定義通常以下:
V:|-(>=XXX) :表示垂直方向上相對於SuperView大於、等於、小於某個距離
如果要定義水平方向,則將V:改爲H:便可
在接着後面-[]中括號裏面對當前的View/控件 的高度/寬度進行設定;
options:字典類型的值;這裏的值通常在系統定義的一個enum裏面選取
metrics:nil;通常爲nil ,參數類型爲NSDictionary,從外部傳入 //衡量標準
views:就是上面所加入到NSDictionary中的綁定的View
在這裏要注意的是 AddConstraints 和 AddConstraint 之間的區別,一個添加的參數是NSArray,一個是NSLayoutConstraint
使用規則
|: 表示父視圖
-:表示距離
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。spa
10: [wideView(>=60@700)] :視圖的寬度爲至少爲60 不能超過 700 ,最大爲10003d
使用:orm
// 必須設置NO才能手動設置限制string
_titleView.translatesAutoresizingMaskIntoConstraints = NO;it
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_titleView]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_titleView)]];io
NSString *titleViewHeightConstraint = [NSString stringWithFormat:@"V:|-15-[_titleView(%f)]",titleViewHeight];
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:titleViewHeightConstraint options:0 metrics:nil views:NSDictionaryOfVariableBindings(_titleView)]];form