AutoLayoutSwift 4.0.0

AutoLayoutSwift 4.0.0

Hassan Shahbazi 维护。



AutoLayoutSwift

Build Status cocoapods compatible Licence

该库旨在帮助开发者通过几行代码应用复杂的 AutoLayout 结构。该库在 MIT 许可下可用,并在 Cocoapods 依赖管理器中提供。

安装

该库在 Cocoapods 上发布。要安装,只需将以下行添加到您的 podfile

pod 'AutoLayoutSwift', '~> 3.2'

然后在 终端 中运行以下命令

pod install

用法

主要约束

有关 AutoLayout 概念的官方文档可以在 Apple官方文档页面 找到。然而,以下带有截图的描述可能有助于更好地理解概念。在下到底部部分之前,请注意以下内容

  • 所有函数中的参数都是可选的,这意味着您不需要为所有锚点指定值。只有指定的锚点才会应用。
  • isRelative参数决定锚点是否应该受对应锚点的约束。例如,如果您想将viewA的leading锚点约束在viewB的trailing锚点上,您可以将该参数传递为true
  • 从版本3.1开始,您可以设置对于运行iOS 11及以上版本的设备的尺寸安全区域约束。
  • 这些函数返回UIView对象,因此可以对目标视图应用一系列约束。以下是一个示例
viewA
  .fix(leading: (0, viewB) isRelative: true)
  .fix(top: (0, superview), bottom: (0, superview), toSafeArea: true, isRelative: false)
  .fix(height: 20)

leading与trailing

leadingtrailing锚点也分别称为leftright锚点。要从viewAviewB添加约束,您可以使用以下函数。

viewA.fix(leading: (value, viewB), trailing: (value, viewB), isRelative: false

Diagram

Top(顶部)- Bottom(底部)

要从viewAviewB添加topbottom约束,您可以使用以下函数。

viewA.fix(top: (value, viewB), bottom: (value, viewB), isRelative: false)

Diagram

Width(宽度)、Height(高度)、AspectRatio(宽高比)

要轻松应用大小约束到viewB,可以使用以下函数。

viewA.fix(width: 20, height: 30)

要应用宽高比,首先需要设置宽度或高度约束,然后使用以下函数设置相对于分配给大小约束的第一个值。

viewA
  .fix(width: 20)
  .scale(aspectRatio: 2.0)

辅助函数

以下两个函数有助于对一个视图中约束有更多控制。

禁用

禁用功能简单地移除/禁用视图的限制。例如,以下行将移除分配给左侧高度锚点的任何限制

viewA.deactivate(origin: [.left], size: [.height])

常量

要获取特定限制指定的当前值,请使用以下函数来获取一个指示值和限制的字典。例如,以下代码将获取分配给大小限制的值,结果如下:[.width: value, .height: value]

viewA.constants(in: [.width, .height])