Swift Package Index


SwiftUI-like modifiers for many UIKit views and controls


  • The latest stable release is 0.1.0. Released about 1 year ago.
  • The last commit to master was 11 months ago.

Swift Version Compatibility

  • 0.1.0 and master
    5.3
    5.2
    5.1
    5.0
    4.2
Full build results

Platform Compatibility

  • 0.1.0 and master
    iOS
    macOS(Intel)
    macOS(ARM)
    Linux
    tvOS
    watchOS
Full build results

UIKit-Modifiers

Swift 5.1 Platform Current Version License

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!

Modifiers available for

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

Example

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 🚀

Installation

Add this Swift package as a dependency to your Package.swift

.package(url: "https://github.com/crelies/UIKit-Modifiers.git", from: "0.1.0")