Swiftly 2.0.0

Swiftly 2.0.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2018年9月
SPM支持 SPM

Nora TrappNora 维护。



Swiftly 2.0.0

Swiftly

Version License Platform

Swiftly 生成 Auto Layout 约束。

用法

要运行示例项目,只需运行 pod try swiftly。或者,您可以克隆仓库并在示例目录中运行项目。

所有 UIViewUILayoutGuide 都响应 applyLayout 方法,该方法接受可变数量的 Swiftly 对象。提供的方便初始化器与所有 Apple 的 NSLayoutAttribute 类型配对。常见的组合布局类型 flushflushToMarginsverticalhorizontalcentersize 也是可用的。

view.applyLayout(.centerX, .vertical, .width * 0.5)

安装

Cocoapods

Swiftly 可通过 CocoaPods 获取。安装它,只需将以下行添加到您的 Podfile 中:

pod "Swiftly"

Carthage

Swiftly 可通过 Carthage 获取。安装它,只需将以下行添加到您的 Cartfile 中:

github "Imperiopolis/Swiftly" ~> 2.0

Swift 版本

Swiftly 2.0 及更高版本需要 Swift 4.2。对于 Swift 的旧版本,请使用 Swiftly 1.0 构建版本。

自定义运算符

可以在 Swiftly 对象上使用运算符来生成修改后的布局。可用的运算符包括 ==<=>=+-*~=/

view.applyLayout(.centerX, .top + 20, .width * 0.5, .height == 200)

设置优先级

可以配置 Swiftly 对象的优先级。

view.applyLayout(.centerY ~= UILayoutPriorityRequired)

视图关系

默认情况下,布局类型引用 superview 视图。要创建相对于兄弟视图的约束,请传递该视图作为参数。

view1.applyLayout(.left == .right(view2) + 5, .size(view2))

约束操作

applyLayout 方法返回一个生成 LayoutConstraint 对象的数组,可以在以后轻松地禁用或修改生成的约束。

let constraints = view.applyLayout(.size == 5, .center)
NSLayoutConstraint.deactivate(constraints)

...

NSLayoutConstraint.activate(constraints)

注意:任何在其上调用过applyLayout的视图将自动将translatesAutoresizingMaskIntoConstraints设置为false,并且将生成的约束添加到其父视图中。

文档

请在此处阅读文档:here

关于 Swiftly

Swiftly 由 @Imperiopolis 创建,旨在作为 Cartography(由 Robb Böhnke 创建)的一个轻量级版本。

Swiftly 在 MIT 许可下发布。有关详细信息,请参阅 LICENSE。