ApplyStyleKit
  • May 21, 2025

ApplyStyleKit is a library that applies styles to UIKit using Swifty Method Chain.

Normally, when applying styles to UIView etc.,it is necessary to write propertyName and equal operator many times.

With ApplyStyleKit, you can comfortably apply style to your code.

Like this:

sampleLabel.applyStyle
.backgroundColor(.yellow)
.text(“sample label”)
.textAlignment(.center)
.textColor(.green)
.font(.boldSystemFont(ofSize: 30.0))
.numberOfLines(0)

Installation


Requirements

  • iOS 9.0 or late
  • Swift 4.2
  • Xcode 10

Carthage

github “shindyu/ApplyStyleKit”

CocoaPods

target ‘<Your Target Name>’ do
pod ‘ApplyStyleKit’
end

Usage


 

import ApplyStyleKit

class ViewController: UIViewController {
let sampleView = UIView()
let sampleLabel = CustomLabel()

override func viewDidLoad() {
super.viewDidLoad()

// Apply style
sampleView.applyStyle
.backgroundColor(.red)
.alpha(0.5)

// When applying to layer
sampleView.layer.applyStyle
.cornerRadius(10)
.borderColor(.gray)
.borderWidth(2)

// Of course, you can apply it if you inherit UIView etc.
sampleLabel.applyStyle
.text(“Of course, you can apply it if you inherit UIView etc.”)
.textAlignment(.center)
.textColor(.green)
.font(.boldSystemFont(ofSize: 30.0))
.numberOfLines(0)
}
}

Advanced

You can also create your own applyStyleMethod.

To be able to define the extension, the access modifier of base which is a property of StyleObject is public.

example:

extension StyleObject where Base: UIView {
@discardableResult func specialStyle() -> StyleObject {
base.backgroundColor = .red
base.layer.cornerRadius = 10
return self
}
}

Support


QuartzCore

✅ CALayer

UIKit

✅ UIView

✅ UILabel

✅ UIButton

✅ UIImageView

✅ UISwitch

✅ UIControl

✅ UIStackView

✅ UISlider

✅ UITableView

✅ UICollectionView

Basic policy


ApplyStyleKit intends to target methods with no return value and properties with setter. Due to the nature of ApplyStyleKit, I think that returning types other than StyleObject should be avoided.

GitHub


View Github

#swift
YOU MIGHT ALSO LIKE...
ViewCondition

✨ Super sweet syntactic sugar for SwiftUI.View initializers. At a Glance

SwiftUIX

SwiftUIX attempts to fill the gaps of SwiftUI, providing an extensive suite of components, extensions and utilities to complement the ...

SwiftUI Environment Overrides

A tiny library that adds a control panel for testing how SwiftUI app adapts for different color themes, accessibility settings, ...