SwiftUI-like modifiers for many UIKit views and controls - syntactic sugar, nothing more 🎁
Let me know if you miss something 😉
Hint: To avoid conflicts with existing functions I had to use different function signatures for some modifiers!
The modifiers are added through Extensions to the views / controls.
| View | Status |
|---|---|
| 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 | ✅ |
If you create your views in code you may find yourself writing something similar to
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
}()With this Swift package you can use SwiftUI-like modifiers
var textField: UITextField = {
UITextField()
.translatesAutoresizingMaskIntoConstraints(false)
.placeholder("Username")
.textColor(.systemBlue)
.font(.systemFont(ofSize: 17, weight: .semibold))
.textContentType(.username)
}()Enjoy adding some syntactic sugar on top of your UIKit code 🚀
Add this Swift package as a dependency to your Package.swift
.package(url: "https://github.com/crelies/UIKit-Modifiers.git", from: "0.1.0")