一丶介紹
VFL是可視化格式語(yǔ)言,用來(lái)實(shí)現(xiàn)自動(dòng)布局的;
二丶使用
格式:
方向 : [視圖] -距離-[視圖(大小)]-距離-[視圖]
符號(hào)參考圖:
1.例子:
實(shí)現(xiàn)一個(gè)redView距離父視圖,上100,左30,寬50,高100;
翻譯成VFL應(yīng)該這么理解:
redView
水平方向上:距離父視圖左邊30,寬度50;
垂直方向上:距離父視圖上邊100,高度100;
代碼:
_redView = [[UIView alloc] init];
_redView.translatesAutoresizingMaskIntoConstraints = NO;
_redView.backgroundColor = [UIColor redColor];
[self.view addSubview:_redView];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-30-[_redView(==50)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_redView)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-100-[_redView(==100)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_redView)]];
效果:
三丶重點(diǎn)
有了Masonry這種庫(kù),VFL語(yǔ)言很久沒(méi)用過(guò)了;本來(lái)沒(méi)提的必要;但是今天看到
https://autolayoutconstraints.com/
這個(gè)網(wǎng)站...
代碼雖然長(zhǎng)了點(diǎn),但是基本實(shí)現(xiàn)了;而且還支持swift
四丶總結(jié)
以前些項(xiàng)目的時(shí)候有遇到同時(shí)布局iPhone,iPad橫豎適配的情況,masonry這種第三方是用不上的,又不想寫(xiě)系統(tǒng)非常長(zhǎng)的自動(dòng)布局代碼;選擇用VFL;代碼還是很簡(jiǎn)潔易懂的;