ConstraintKit 0.0.1

ConstraintKit 0.0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2016年1月
SPM支持 SPM

Jed Lewison 维护。



  • 作者:
  • Jed Lewison

ConstraintKit

ConstraintKit 使得在 iOS 中使用 Swift 和 Objective-C 简单地激活、禁用和更新布局约束。它智能地禁用参与自动布局的视图的 translatesAutoresizingMaskIntoConstraints,让您无需存储对已安装约束的引用即可更新它们,并让用户通过一行代码激活单个约束,但它的最强大的功能是允许用一行代码定义整个视图的布局。

假设你已经在你视图控制器的主视图中添加了一个视图,并希望它在顶部和底部布局指南之间填满整个视图。这里是如何使用 ConstraintKit 和 Swift 实现这一点的…

newView.clk_edgesAnchor.constraintsEqualTo(self).activate()

…以及 Objective-C

[[[newView clk_edgesAnchor] constraintsEqualToViewController:self] activate];

假设你想给你的新视图添加边距。只需创建一个 UIEdgeInsets 定义边距,并在激活约束时使用它

newView.clk_edgesAnchor.constraintsEqualTo(self).with(insets).activate()

…以及 Objective-C

[[[newView clk_edgesAnchor] constraintsEqualToViewController:self] withConstant:insets priority:UILayoutPriorityRequired];

ConstraintKit 的一个优点是,如果您已经安装了相似的约束,它将更新它们以实现您的新设置。当然,如果您想安装具有不同优先级的多个相似约束,您可以禁用此功能。

当 ConstraintKit 激活约束时,它始终返回它激活的约束,以防您想保留对这些约束的引用。在许多情况下,您不需要这样做,因为 ConstraintKit 在可能的情况下会智能地更新现有的约束。

您还可以使用 ConstraintKit 智能地激活、禁用和更新单个约束,无论它们是如何创建的。只需在 NSLayoutConstraint 上使用 clk_activate 扩展即可。

ConstraintKit 确保始终关闭适当视图的 translatesAutoresizingMaskIntoConstraints

ConstraintKit 采用 MIT 许可证。