Silicon 是一个极简的 UIKit DSL,它可以将你的 Auto Layout 约束从冗长变为优雅,从繁琐变为富有表现力。

TL;DR (太长不看)

import UIKit
+ import Silicon

class FeedViewController: UIViewController {
	private let tableView = UITableView()
	
	override func viewDidLoad() {
		super.viewDidLoad()
		view.addSubview(tableView)
-		NSLayoutConstraint.activate([
-			tableView.topAnchor. constraint(equalTo: view.topAnchor, constant: 0),
-			tableView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0),
-			tableView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0),
-			tableView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0),
-		])
+		tableView.pin(to: view)
	}
}

安装

Swift Package Manager

Swift Package Manager 是一个用于管理 Swift 代码分发的工具。它与 Swift 构建系统集成,可以自动完成下载、编译和链接依赖项的过程。

要使用 Swift Package Manager 将 Silicon 集成到你的 Xcode 项目中,请将其添加到 Package.swift 的 dependencies 值中。

dependencies: [
    .package(
        url: "https://github.com/kabir-asani/Silicon.git",
        .upToNextMajor(from: "0.0.2")
    )
]

你可以从这里查看完整的安装指南。

用法

快速开始

import Silicon

class FeedViewController: UIViewController {
    private let tableView = UITableView()

    override func viewDidLoad() {
        super.viewDidLoad()

        view.addSubview(tableView)

        // pins top, left, right and bottom anchors of tableView to view's corresponding anchors
        tableView.pin(to: view)
    }
}

许可

Silicon 在 MIT 许可下发布。有关详细信息,请参阅 LICENSE 文件。