//1.子控件禁用autorezing
view.translatesAutoresizingMaskIntoConstraints==NO;
//2.添加約束
/**
* Item : first item
* attribute : 約束
* relatedBy : =
* toItem : second item
* attribute : 約束
* multiplier : 乘以
* constant : 加上
*/
NSLayoutConstraint *constraint=[NSLayoutConstraint constraintWithItem:<#(id)#> attribute:<#(NSLayoutAttribute)#> relatedBy:<#(NSLayoutRelation)#> toItem:<#(id)#> attribute:<#(NSLayoutAttribute)#> multiplier:<#(CGFloat)#> constant:<#(CGFloat)#>]
/**
* VisualFormat : VFL語句
* options : 對齊方式
* metrics : 語句中的變量值
* views : 語句中用到的控件
*/
NSArray *constraint=[NSLayoutConstraint constraintsWithVisualFormat:<#(NSString *)#> options:<#(NSLayoutFormatOptions)#> metrics:<#(NSDictionary *)#> views:<#(NSDictionary *)#>]
//3.父子關係->添加到父控件上,兄弟關係->添加到父控件(self.view)上,
[self.view addConstraint:constraint];
//4.動畫
如果控件有默認的內容(寬高), 我們只需設置autoalyout的X/Y, autolayout會自動計算出寬高
//約束連線
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *leftCos;
//修改約束的值
self.leftCos.constant += 100;
//執行動畫
[UIView animateWithDuration:3 animations:^{
// 讓view上的約束執行動畫
[self.view layoutIfNeeded];
}];