前言:vfl是蘋果公司為了簡化autolayout的編碼而推出的抽象語言。對於純**發燒友,值得我們去學習和了解哦。
1、什麼是vfl語言
vfl全稱是visual format language,翻譯過來是「視覺化格式語言」。
2、vfl使用示例:
h:[cancelbutton(72)]-12-[acceptbutton(50)]
canelbutton寬72,acceptbutton寬50,它們之間間距12
h:[wideview(>=60@700)]
wideview寬度大於等於60point,該約束條件優先順序為700(優先順序最大值為1000,優先順序越高的約束越先被滿足)
v:[redbox][yellowbox(==redbox)]
豎直方向上,先有乙個redbox,其下方緊接乙個高度等於redbox高度的yellowbox
h:|-10-[find]-[findnext]-[findfield(>=20)]-|
水平方向上,find距離父view左邊緣預設間隔寬度,之後是findnext距離find間隔預設寬度;
再之後是寬度不小於20的findfield,它和findnext以及父view右邊緣的間距都是預設寬度。(豎線「|」 表示superview的邊緣)
3、vfl的使用:
使用vfl來建立約束陣列
+ (nsarray *)constraintswithvisualformat:(nsstring *)format options:(nslayoutformatoptions)opts metrics:(nsdictionary *)metrics views:(nsdictionary *)views;
format :vfl語句
opts :約束型別
metrics :vfl語句中用到的具體數值
views :vfl語句中用到的控制項
建立乙個字典(內部包含vfl語句中用到的控制項)的快捷巨集定義
nsdictionaryofvariablebindings(...)
關於這個的使用下面展示個示例:
4、vfl的**練習示例:
需求:我們需要實現以下的效果。
在控制器view底部新增2個view,1個藍色,1個紅色
2個view寬度、高度永遠相等,高度等於50
距離父控制項左邊、右邊、下邊間距和2個view之間的間距相等,等於30
**實現:
展示效果(直接旋轉為橫屏):
注意編碼的事項:
iOS開發 螢幕適配之VFL語言
1 簡介 vfl語言是蘋果給了簡化螢幕適配的工作量推出的一門語言,以不同的方向進行新增約束的 vfl比純 更加的巨集觀,它在新增約束的同時考慮不同控制項之間的關係,純 是每個控制項單獨新增約束 2 核心 v 垂直方向 h 水平方向 控制項之間的間距 如 20 代表間距為20 具體控制項 如 view...
iOS學習之VFL語言簡介
vfl visual format language 視覺化格式語言 vfl是蘋果公司為了簡化autolayout的編碼而推出的抽象語言。cancelbutton寬72,acceptbutton寬50,它們之間間距12 h wideview 60 700 wideview寬度大於等於60point,...
iOS學習之VFL語言簡介
vfl visual format language 視覺化格式語言 vfl是蘋果公司為了簡化autolayout的編碼而推出的抽象語言。cancelbutton寬72,acceptbutton寬50,它們之間間距12 h wideview 60 700 wideview寬度大於等於60point,...