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...
PermissionsSwiftUI: A SwiftUI package to handle permissions

PermissionsSwiftUI displays and handles permissions in SwiftUI. It is largely inspired by SPPermissions. The UI is highly customizable and resembles an Apple style. ...

Pager tab strip view

Introduction PagerTabStripView is the first pager view built in pure SwiftUI. It provides a component to create interactive pager views ...

PageView

SwiftUI view enabling page-based navigation, imitating the behaviour of UIPageViewController in iOS.

Pages

    

How to take action when a property changes

1. Taking Action When a Property Changes: Property Observers Swift lets you observe and respond to changes in a property’s ...