类似 SwiftUI 的 modifiers(修饰符),适用于许多 UIKit 视图 和 控件 - 只是 语法糖,仅此而已 🎁
如果您发现缺少了什么,请告诉我 😉
提示:为了避免与现有函数冲突,我不得不为某些修饰符使用不同的函数签名!
这些修饰符通过扩展添加到视图/控件。
视图 | 状态 |
---|---|
UIActivityIndicatorView | ✅ |
UIButton | ✅ |
UICollectionView | ✅ |
UIControl | ✅ |
UIDatePicker | ✅ |
UIImageView | ✅ |
UILabel | ✅ |
UIPageControl | ✅ |
UIPickerView | ✅ |
UIProgressView | ✅ |
UIScrollView | ✅ |
UISearchTextField | ✅ |
UISegmentedControl | ✅ |
UISlider | ✅ |
UIStackView | ✅ |
UIStepper | ✅ |
UISwitch | ✅ |
UITableView | ✅ |
UITextField | ✅ |
UITextField-UITextInputTraits | ✅ |
UITextView | ✅ |
UITextView-UITextInputTraits | ✅ |
UIView | ✅ |
如果您在代码中创建视图,您可能会发现自己编写类似于以下的内容
var textField: UITextField = {
let textField = UITextField()
textField.translatesAutoresizingMaskIntoConstraints = false
textField.placeholder = "Username"
textField.textColor = .systemBlue
textField.font = .systemFont(ofSize: 17, weight: .semibold)
textField.textContentType = .username
return textField
}()
使用这个 Swift 包,您可以使用类似 SwiftUI 的 modifiers(修饰符)
var textField: UITextField = {
UITextField()
.translatesAutoresizingMaskIntoConstraints(false)
.placeholder("Username")
.textColor(.systemBlue)
.font(.systemFont(ofSize: 17, weight: .semibold))
.textContentType(.username)
}()
享受在您的UIKit 代码之上添加一些语法糖吧 🚀
将这个 Swift 包 作为依赖项添加到您的 Package.swift 中
.package(url: "https://github.com/crelies/UIKit-Modifiers.git", from: "0.1.0")