IOS開發之自動布局 VFL語言

2021-09-08 18:09:10 字數 1669 閱讀 5791

前言: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,...