VFL 介绍
Visual Format Language 可视化格式语言
是苹果公司为了简化Autolayout的编码而推出的抽象语言
VFL 语法
H: 水平方向
V: 垂直方向
| 边界
[ 视图名称 ]
( 常数值 )
== >= <= 关系
- 距离
VFL 示例
H:|-0-[button]-0-|
按钮 距离 左右 两边为 0
V:|-0-[button]-0-|
按钮 距离 上下 两边为 0
H:|-20-[button(50)]
按钮 距离 左 边 20
按钮宽度 50
V:[button(40)]-20-|
按钮 距离 底 边 20
按钮高度 40
VFL 没有提供居中对齐的方式,也不支持运算符
另外如何居中显示,就要用的autolayout 结合了例子如下
let view1 = UIView.init()
view1.backgroundColor = UIColor.red
view1.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(view1)
let h = NSLayoutConstraint.constraints(withVisualFormat: "H:[view1(100)]", options: [NSLayoutConstraint.FormatOptions.alignAllCenterY], metrics: nil, views: ["view1" : view1])
let v = NSLayoutConstraint.constraints(withVisualFormat: "V:|-[view1(100)]", options: [NSLayoutConstraint.FormatOptions.alignAllCenterX], metrics: nil, views: ["view1" : view1])
view.addConstraints(h)
view.addConstraints(v)
view.addConstraint(NSLayoutConstraint.init(item: view1, attribute: NSLayoutConstraint.Attribute.centerX, relatedBy: NSLayoutConstraint.Relation.equal, toItem: view, attribute: NSLayoutConstraint.Attribute.centerX, multiplier: 1, constant: 0))
网友评论