🎨 Swift & UIKit 视图实例语法糖
使用 AddThen 添加 UIView & UIViewController 代码
let label = UILabel()
label.backgroundColor = .red
label.text = "Hello, World"
...
view.addSubview(label)
这等同于
let label = UILabel()
...
view.add(label) {
$0.backgroundColor = .red
$0.text = "Hello, World!"
}
view.add(
UIStackView {
UIButton()
UIView()
UIImageView()
}
)
与 SnapKit 配合使用也非常好用
let label = UILabel()
...
view.add(label) {
$0.backgroundColor = .red
$0.text = "Hello, World!"
$0.snp.makeConstraints {
$0.edges.equalToSuperview()
}
}
/// in certain function in UIViewController
let label = UILabel()
body {
label.then({ $0.textColor = .red })
UIButton()
}
body {
if true {
UIView()
} else {
EmptyView() // EmptyView will not be added
}
}
如果你想处理某些不应被添加的视图,请使用 Emptiable
或 EmptyView
AddThen 可通过 CocoaPods & SPM 获取。要安装它,只需将以下行添加到你的 Podfile 中
pod 'AddThen'
import PackageDescription
let package = Package(
name: "MyApp",
dependencies: [
.package(url: "https://github.com/sobabear/AddThen", .upToNextMajor(from: "1.2.3")),
]
)
AddThen 基于 MIT 许可发布。有关更多信息,请参阅 LICENSE 文件。