🎨 View instance sugar for Swift & UIKit
Add UIView & UIViewController code with AddThen
let label = UILabel()
label.backgroundColor = .red
label.text = "Hello, World"
...
view.addSubview(label)
This is equivalent to :
let label = UILabel()
...
view.add(label) {
$0.backgroundColor = .red
$0.text = "Hello, World!"
}
view.add(
UIStackView {
UIButton()
UIView()
UIImageView()
}
)
Also very useful with 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
}
}
if you want to handle certain view which should not be added, use Emptiable
or EmptyView
- iOS 9.0+ (11.0+ recommended)
- Xcode 12.0+
- Swfit 5.0
AddThen is available through CocoaPods & SPM. To install it, simply add the following line to your Podfile:
pod 'AddThen'
import PackageDescription
let package = Package(
name: "MyApp",
dependencies: [
.package(url: "https://github.com/sobabear/AddThen", .upToNextMajor(from: "1.2.3")),
]
)
- Yongjun Lee, stareta1202
- Chanwoo Cho, GREENOVER
AddThen is available under the MIT license. See the LICENSE file for more info.