项目作者: maximkrouk

项目描述 :
SwiftUI sizing DSL, inspired by SnapKit.
高级语言: Swift
项目地址: git://github.com/maximkrouk/SUILayout.git
创建时间: 2019-06-27T15:30:35Z
项目社区:https://github.com/maximkrouk/SUILayout

开源协议:MIT License

下载


SUILayout 🍃

Lightweight sizing dsl for SwiftUI

Sometimes it’s pretty annoying to type something like .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity) , so I decided to extract common cases to this tiny framework.

Usage

  1. import SUILayout
  2. import SwiftUI
  3. struct MyView: View {
  4. var body: some View {
  5. Text("Awesome SwiftUI")
  6. .foregroundColor(.white)
  7. .pin.toLeft()
  8. .pin.size(to: .square(240))
  9. .background(Color.black)
  10. }
  11. }

Pins:

  • 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()

Requirements

  • ⌨️ XCode 11.0+
  • 🖥 OSX 10.15+
  • 📱 iOS 13.0+

Installation

Primary:

Via SwiftPM, just add a link to this repo to your Package.swift file.

  1. .package(url: "https://github.com/maximkrouk/SUILayout.git", from: "3.0.0")

Or use XCodePM.

Secondary:

SUILayout is available through CocoaPods. To install
it, simply add the following line to your Podfile:

  1. pod 'SUILayout'

and run pod install from the terminal.


Feel free to contribute or communicate.