自动版面设计原理

什么是自动版式?

自动版式等于位置和大小。

在近代,我们始终在iOS编程中使用第三个库,例如SnapKit和Monsary。

我没有提到为什么编程界面比Xib和Storyboard更好?

作为初级的iOS开发人员,xib和storyboard是开始编码的最佳方法,因为它是如此简单。但是几年后,如果您想超越此范围,则应该通过AutoLayout而不是使用第三个库来构建自己的界面,然后提高自己的技能。

您应该牢记此规则。

  • “自动布局”是声明性的—您向系统添加规则以表示界面布局。 运行时系统代表您实施这些规则。
  • “自动布局”可最大程度地减少计算-您指定布局,而不是点和像素。
  • 自动版式设计是间接的,但它也非常灵活-视图需要较少的更新来更改窗口的几何形状,并且它们更容易分解为可维护的版式组件。
  • “自动布局”由几何驱动-它的基本语言术语是自然的几何属性,例如边缘,中心和大小。
  • “自动布局”着重于关系-使用几何等式和不等式将视图布局彼此关联,从绝对项转换为相对项。
  • 自动版式允许甚至鼓励冲突的规则-优先规则是自动版式的重要组成部分。 它们使您能够添加低优先级回退条件和高优先级边界限制以构建复杂的接口。
  • “自动布局”表示自然的内容—内部视图内容驱动大小调整和对齐,使内容在布局中发挥关键作用。
  • Auto Layout寻求最佳解决方案-根据您提供的规则以及内容和容器的大小可变,它可以确定最佳的布局。
  • Auto Layout是分布式的-它自然分解的布局支持干净的实现,而组件之间的依赖性很小。

SnapKit的功能是什么?

首先,它使用闭包在界面中进行约束

然后在ConstraintsMake类中调用此函数

它使用DSL来构建您的布局代码……。