const 是一个(另一个)用于 Auto Layout 的类型安全的 Swift DSL
示例
let topView = UIView()
topView.backgroundColor = .red
baseView.addSubview(topView)
let bottomView = UIView()
bottomView.backgroundColor = .blue
baseView.addSubview(bottomView)
topView.constraints { make in
make.top.equalTo(.superview).withInset(50)
make.left.equalTo(.superview).withInset(50)
make.right.equalTo(.superview).withInset(50)
make.bottom.equalTo(.centerY, of: .superview).withInset(25)
}
bottomView.constraints { make in
make.top.equalTo(.bottom, of: .view(topView)).withOffset(50)
make.left.equalTo(.superview).withInset(50)
make.right.equalTo(.superview).withInset(50)
make.bottom.equalTo(.superview).withInset(50)
}
此代码生成以下结果
特性
-
轻量级 — 当前版本的 const 由不到 500 行代码组成。尽管随着时间推移,这个项目可能会变得更大,但它不太可能超过 1000 行代码。
-
熟悉且易于表达 — const API 受 SnapKit 很大启发,因此如果您对它有所了解,那么熟悉这个库应该不会遇到任何问题。
-
纯 Swift — 就是这么简单。没有 Objective-C 代码或使用其任何运行时特性,如关联对象。
安装
您可以使用 CocoaPods 安装 const。
pod 'Const', '~> 0.1'
或使用 Swift 包管理器
.package(url: "https://github.com/acedened/const.git", from: "0.1.0")