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")