Skip to content

UnpxreTW/UIInitializerKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

UIInitializerKit

以宣告式風格初始化 UIKit 元件的 Swift Package——閉包初始化器搭配 @resultBuilder 約束 DSL。

特色

  • DeclarativeInitialization:任何 UIView 子類都能用設定閉包直接初始化;UIButton(可帶 ButtonType)、UIStackViewUITableView 另有專用參數版
  • ConstraintBuilder@resultBuilder 約束 DSL——addSubview(_:withConstraints:) 加入子視圖同時掛約束、自動處理 translatesAutoresizingMaskIntoConstraints 與 activate,支援 if / for / switch 組約束

使用

import ConstraintBuilder
import DeclarativeInitialization

let titleLabel = UILabel {
    $0.text = "Hello"
    $0.font = .preferredFont(forTextStyle: .title1)
}

view.addSubview(titleLabel) {
    equal(\.centerXAnchor, to: view)
    equal(\.topAnchor, to: view, \.safeAreaLayoutGuide.topAnchor, constant: 16)
    equal(\.heightAnchor, to: 44)
}

單一 library 內含兩個 module,依需求分別 import

安裝

.package(url: "https://github.com/UnpxreTW/UIInitializerKit", branch: "main")

規劃中

  • UIButton.Configuration 專用簡化初始化器(#4)
  • UIVisualEffectView 快捷初始化器(#1)

需求

Swift 6.0+、UIKit(CI 以 Xcode 26.3 iOS Simulator 建置)

授權

Apache-2.0(REUSE 合規)

About

初始化 UIKit 視圖與快速建立佈局工具

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages