🍃
SUILayoutSwiftUI 的轻量级尺寸 DSL
有时候,输入 .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
这样的代码确实有点让人烦恼,所以我决定将常见的用例提取到这个迷你框架中。
使用
import SUILayout
import SwiftUI
struct MyView: View {
var body: some View {
Text("Awesome SwiftUI")
.foregroundColor(.white)
.pin.toLeft()
.pin.size(to: .square(240))
.background(Color.black)
}
}
锚点
toScreen(multipliedBy multipliers: CGPoint)
toScreen(insetBy inset: CGPoint = .zero)
sizeToScreen(multipliedBy multipliers: CGPoint)
sizeToScreen(insetBy insets: CGPoint = .zero)
widthToScreen(multipliedBy multiplier: CGFloat)
widthToScreen(insetBy inset: CGFloat = 0)
heightToScreen(multipliedBy multiplier: CGFloat)
heightToScreen(insetBy inset: CGFloat = 0)
toSuperview()
sizeToSuperview(multipliedBy multipliers: CGPoint)
size(to size: CGSize)
sizeToSuperview()
widthToSuperview()
widthToSuperview(multipliedBy multiplier: CGFloat)
widthToSuperview(insetBy inset: CGFloat)
heightToSuperview()
heightToSuperview(multipliedBy multiplier: CGFloat)
heightToSuperview(insetBy inset: CGFloat)
toTop()
toBottom()
toLeft()
toRight()
要求
⌨️ XCode 11.0+🖥 OSX 10.15+📱 iOS 13.0+
安装
主要内容
通过SwiftPM,只需将此仓库链接添加到Package.swift文件中。
.package(url: "https://github.com/maximkrouk/SUILayout.git", from: "3.0.0")
或者使用XCodePM。
次要内容
SUILayout可通过CocoaPods获取。要安装它,只需在Podfile中添加以下行
pod 'SUILayout'
然后在终端运行pod install
。
欢迎贡献或交流。