All Projects → kennic → Framelayoutkit

kennic / Framelayoutkit

Licence: mit
FrameLayoutKit is a super fast and easy to use autolayout kit

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Framelayoutkit

Mylinearlayout
MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. So you can use LinearLayout,RelativeLayout,FrameLayout,TableLayout,FlowLayout,FloatLayout,PathLayout,GridLayout,LayoutSizeClass to build your App 自动布局 UIView UITab…
Stars: ✭ 4,152 (+7733.96%)
Mutual labels:  layout, autolayout, grid-layout
Flexlayout
FlexLayout adds a nice Swift interface to the highly optimized facebook/yoga flexbox implementation. Concise, intuitive & chainable syntax.
Stars: ✭ 1,342 (+2432.08%)
Mutual labels:  swift-framework, layout, layout-engine
Pinlayout
Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. [iOS/macOS/tvOS/CALayer]
Stars: ✭ 1,870 (+3428.3%)
Mutual labels:  swift-framework, layout, layout-engine
Core Layout
Flexbox & CSS-style Layout in Swift.
Stars: ✭ 215 (+305.66%)
Mutual labels:  layout, autolayout, layout-engine
StackViewLayout
Coming soon!
Stars: ✭ 26 (-50.94%)
Mutual labels:  layout, layout-engine, swift-framework
Stevia
🍃 Concise Autolayout code
Stars: ✭ 3,182 (+5903.77%)
Mutual labels:  layout, autolayout
Layoutframeworkbenchmark
Benchmark the performances of various Swift layout frameworks (autolayout, UIStackView, PinLayout, LayoutKit, FlexLayout, Yoga, ...)
Stars: ✭ 316 (+496.23%)
Mutual labels:  layout, autolayout
Keyboardlayoutguide
⌨️ Manage iOS keyboard with Apple's missing KeyboardLayoutGuide
Stars: ✭ 1,054 (+1888.68%)
Mutual labels:  layout, autolayout
Easyswiftlayout
Lightweight Swift framework for Apple's Auto-Layout
Stars: ✭ 345 (+550.94%)
Mutual labels:  layout, autolayout
Autoinch
优雅的iPhone全尺寸/等比例精准适配工具
Stars: ✭ 395 (+645.28%)
Mutual labels:  layout, autolayout
Uicollectionview Layouts Kit
📐 A set of custom layouts for UICollectionView with examples [Swift 5.3, iOS 12].
Stars: ✭ 410 (+673.58%)
Mutual labels:  layout, autolayout
Manuallayout
✂ Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit.
Stars: ✭ 286 (+439.62%)
Mutual labels:  layout, layout-engine
Containercontroller
UI Component. This is a copy swipe-panel from app: Apple Maps, Stocks. Swift version
Stars: ✭ 273 (+415.09%)
Mutual labels:  swift-package-manager, layout
Snapkit
A Swift Autolayout DSL for iOS & OS X
Stars: ✭ 18,091 (+34033.96%)
Mutual labels:  layout, autolayout
EKAstrologyCalc
Astrology Calculator calculates moon's rise/set times, moon Age, moon phases and Zodiac Sign for location and time
Stars: ✭ 31 (-41.51%)
Mutual labels:  swift-package-manager, swift-framework
tapestry
Generate and maintain Swift frameworks with support for Cocoapods, Carthage and SPM
Stars: ✭ 64 (+20.75%)
Mutual labels:  swift-package-manager, swift-framework
Taniwhatextfield
My first cocoapod framework
Stars: ✭ 26 (-50.94%)
Mutual labels:  swift-framework, swift-package-manager
Flexbox
CSS library for easier work with flex boxes
Stars: ✭ 17 (-67.92%)
Mutual labels:  layout, grid-layout
Allkit
🛠 Async List Layout Kit
Stars: ✭ 40 (-24.53%)
Mutual labels:  layout, layout-engine
Sketchkit
A lightweight auto-layout DSL library for iOS & tvOS.
Stars: ✭ 40 (-24.53%)
Mutual labels:  swift-package-manager, autolayout

FrameLayoutKit

Platform Language Version SwiftPM Compatible License

image

FrameLayout is a super fast and easy to use layout library for iOS and tvOS.

For Objective-C version: NKFrameLayoutKit (Deprecated, not recommended)

Why?

Say NO to autolayout constraint nightmare:

NO YES

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

FrameLayoutKit is available through Swift Package Manager (Recommended) and CocoaPods:

pod "FrameLayoutKit"

Example

This is how FrameLayoutKit layout the card view below:

let frameLayout = HStackLayout {
  $0.add(VStackLayout {
    $0.add(earthImageView).alignment = (.top, .center)
    $0.addSpace().flexible()
    $0.add(rocketImageView).alignment = (.center, .center)
  })
		
  $0.add(VStackLayout {
    $0.add([nameLabel, dateLabel])
    $0.addSpace(10)
    $0.add(messageLabel)
    $0.spacing = 5.0
  })

  $0.spacing = 15.0
  $0.padding(top: 15, left: 15, bottom: 15, right: 15)
  $0.debug = true
}

Hello World

Or you can use operand syntax for shorter/cleaner code:

let frameLayout = StackFrameLayout(axis: .horizontal)
frameLayout + VStackLayout {
	($0 + earthImageView).alignment = (.top, .center)
	($0 + 0).flexible() // add a flexible space
	($0 + rocketImageView).alignment = (.center, .center)
}
frameLayout + VStackLayout {
	$0 + [nameLabel, dateLabel] // add an array of views
	$0 + 10 // add space with 10 px fixed
	$0 + messageLabel // add a single view
	$0.spacing = 5.0 // spacing between views
}

frameLayout.spacing = 15.0
frameLayout.padding(top: 15, left: 15, bottom: 15, right: 15)
frameLayout.debug = true // show debug frame
}

Benchmark

FrameLayoutKit is one of the fastest layout libraries. Benchmark Results

See: Layout libraries benchmark's project

Todo

  • [x] Swift Package Manager
  • [x] CocoaPods support
  • [x] Objective-C version (Deprecated - Not recommended)
  • [x] Swift version
  • [x] Examples
  • [ ] Documents

Author

Nam Kennic, [email protected]

License

FrameLayoutKit is available under the MIT license. See the LICENSE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].