iOS - Visual Format Language
====
尽管Visual Format Language直观,易读,易用性还是不如第三方库Masonary. 推荐使用这个。
====
关于autolayout。
1. 尽量用storyboard,添加约束方便直观。
2. 不能用storyboard添加到,考虑 Visual Format Language构建约束
- 直观,易读,代码少
3. 使用NSLayoutAttribute构建约束
- 易读,代码太TM多了
这里以几个例子说明介绍Visual Format Language
Visual Format Language是通过设置垂直(V)和水平(H)方向上,view与其它view的间距来实现view的定位。用以下代码添加约束,
1 | + (NSArray<NSLayoutConstraint *> *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(nullable NSDictionary<NSString *, NSNumber *> *)metrics views:(NSDictionary<NSString *, id> *)views; |
1. @"V:|-10-[_headerL]-20-[_imageV(200)]-30-[_backBtn]-40-|"
在垂直方向上,_headerL与superview上边缘相距10,_headerL与_imageV间距20,_imageV高度200,_imageV与_backBtn相距30,_backBtn与superview下边缘相距40
2:@"[button1(==button2)]"
button1与button2宽度相等
3: @"[button(>=100@20)]"
button宽度>=100,优先级为20
“交流使人进步”
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步