一丶介绍
VFL是可视化格式语言,用来实现自动布局的;
二丶使用
格式:
方向 : [视图] -距离-[视图(大小)]-距离-[视图]
符号参考图:
1.例子:
实现一个redView距离父视图,上100,左30,宽50,高100;
翻译成VFL应该这么理解:
redView
水平方向上:距离父视图左边30,宽度50;
垂直方向上:距离父视图上边100,高度100;
代码:
_redView = [[UIView alloc] init];
_redView.translatesAutoresizingMaskIntoConstraints = NO;
_redView.backgroundColor = [UIColor redColor];
[self.view addSubview:_redView];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-30-[_redView(==50)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_redView)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-100-[_redView(==100)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_redView)]];
效果:
三丶重点
有了Masonry这种库,VFL语言很久没用过了;本来没提的必要;但是今天看到
https://autolayoutconstraints.com/
这个网站...
代码虽然长了点,但是基本实现了;而且还支持swift
四丶总结
以前些项目的时候有遇到同时布局iPhone,iPad横竖适配的情况,masonry这种第三方是用不上的,又不想写系统非常长的自动布局代码;选择用VFL;代码还是很简洁易懂的;