VFL(Visual Format Language)语言

时间:2024-09-08 22:08:08

VFL的使用

使用VFL来创建约束数组:
    +(NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(NSDictionary *)metrics views:(NSDictionary *)views;
  • format:VFL语句
  • opts:约束类型
  • metrics:VFL语句中用到的具体数值
  • views:VFL语句中用到的控件

VFL语句举例

  • H:[cancelButton(72)]-12-[acceptButton(50)]

    cancelButton宽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的边缘)