1、簡介
vfl語言是蘋果給了簡化螢幕適配的工作量推出的一門語言,以不同的方向進行新增約束的vfl比純**更加的巨集觀,它在新增約束的同時考慮不同控制項之間的關係,純**是每個控制項單獨新增約束
2、核心
v 垂直方向h 水平方向
- 控制項之間的間距 如-20-代表間距為20
具體控制項 如[view]代表控制項view,[view(40)],代表寬度或高度為40
| 父控制項的邊緣
3、**演示
需求
關鍵**1 黃色控制項
+ 橙色控制項
2 高度均為
40,黃色在做左,橙色在右
3 兩控制項之間的水平間距為20
4 兩控制項距離螢幕底部間距均為20
5 黃色控制項距離螢幕左側間距為
20,橙色控制項距離螢幕右側間距為
20
uiview *yellow = [[uiview alloc] init];
yellow.backgroundcolor = [uicolor yellowcolor];
[self.view addsubview:yellow];
uiview *orange = [[uiview alloc] init];
orange.backgroundcolor = [uicolor orangecolor];
[self.view addsubview:orange];
yellow.translatesautoresizingmaskintoconstraints = no;
orange.translatesautoresizingmaskintoconstraints = no;
// constraintswithvisualformat:具體約束
// options:約束的方式
// metrics:佔位
// 以鍵值對的形式說明對應的控制項
// 1* @];
// 2* nsdictionaryofvariablebindings(yellow, orange);
nsdictionary *metrics = @;
nsdictionary *views = nsdictionaryofvariablebindings(yellow, orange);
nsarray *cons3 = [nslayoutconstraint constraintswithvisualformat:@"h:|-margin-[yellow]-margin-[orange(==yellow)]-margin-|"
options:nslayoutformatalignalltop | nslayoutformatalignallbottom
metrics:metrics
views:views];
[self.view addconstraints:cons3];
nsarray *cons4 = [nslayoutconstraint constraintswithvisualformat:@"v:[yellow(==yellowheight)]-margin-|" options:0 metrics:@ views:views];
[self.view addconstraints:cons4];
4、總結
4.1 vfl語言簡化的程式設計的工作量,比起**更加的巨集觀4.2 vfl語言的格式串,如果寫錯乙個地方就會出現問題,哪怕是少寫了一條橫線
4.3 個人建議,如果比較熟練,可以使用純**的方式,因為純**更加的精細化,容易查錯和考慮,因為平鋪適配無非就考慮位置和寬高
4.4 以後會講解更加簡便的螢幕適配方法,如masonry這個庫的使用
IOS開發之自動布局 VFL語言
前言 vfl是蘋果公司為了簡化autolayout的編碼而推出的抽象語言。對於純 發燒友,值得我們去學習和了解哦。1 什麼是vfl語言 vfl全稱是visual format language,翻譯過來是 視覺化格式語言 2 vfl使用示例 h cancelbutton 72 12 acceptbu...
iOS螢幕螢幕適配之 Auto Layout 1
在iphone4s及其之前的iphone,螢幕尺寸一直是固定的3.5英吋,硬體解析度為320 480。那時候不存在螢幕適配的問題 當然排除同時相容ipad和iphone 直接用比較粗暴的方式把乙個view的位置寫死,比如下面的 void viewdidload產生的效果如下 從中可以看到,建立nsl...
iOS學習之VFL語言簡介
vfl visual format language 視覺化格式語言 vfl是蘋果公司為了簡化autolayout的編碼而推出的抽象語言。cancelbutton寬72,acceptbutton寬50,它們之間間距12 h wideview 60 700 wideview寬度大於等於60point,...