Swiftpack.co - maximkrouk/SUILayout as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by maximkrouk.
maximkrouk/SUILayout 3.0.0
SwiftUI sizing DSL, inspired by SnapKit.
⭐️ 7
🕓 4 years ago
iOS macOS
.package(url: "https://github.com/maximkrouk/SUILayout.git", from: "3.0.0")

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

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)
    }

}

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.

.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:

pod 'SUILayout'

and run pod install from the terminal.


Feel free to contribute or communicate.

GitHub

link
Stars: 7
Last commit: 4 years ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics