AddThen

CI Status Version License Platform

🎨 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()
  }
}

更 SwiftUI 化

/// 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 
    }
}

如果你想处理某些不应被添加的视图,请使用 EmptiableEmptyView

要求

安装

AddThen 可通过 CocoaPods & SPM 获取。要安装它,只需将以下行添加到你的 Podfile 中

cocoapod

pod 'AddThen'

Swift Package Manager

import PackageDescription

let package = Package(
  name: "MyApp",
  dependencies: [
    .package(url: "https://github.com/sobabear/AddThen", .upToNextMajor(from: "1.2.3")),
  ]
)

作者

许可

AddThen 基于 MIT 许可发布。有关更多信息,请参阅 LICENSE 文件。