CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.

ALKit 0.6

ALKit 0.6

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Oct 2018
SPMSupports SPM

Maintained by Cem Olcay.



ALKit 0.6

  • By
  • cemolcay

ALKit

Easy to use AutoLayout wrapper around NSLayoutConstraints.

Requirements

  • Swift 4.2+
  • iOS 8.0+
  • tvOS 9.0+

Install

CocoaPods

use_frameworks!
pod 'ALKit'

Manual

Copy the ALKit folder into your project

Usage

Init

Create UIView instances from either storyboard or programmatically. Don't forget to set view.translatesAutoresizingMaskIntoConstraints = false if you are creating them programmatically.

Wraper

The main function of all kit. Wraps addConstraint: method of autolayout.

func pin(
  inView inView: UIView? = nil,
  edge: NSLayoutAttribute,
  toEdge: NSLayoutAttribute,
  ofView: UIView?,
  withInset: CGFloat = 0) {
  let view = inView ?? ofView ?? self
  view.addConstraint(NSLayoutConstraint(
      item: self,
      attribute: edge,
      relatedBy: .Equal,
      toItem: ofView,
      attribute: toEdge,
      multiplier: 1,
      constant: withInset))
}

Example

box.fill(toView: view)

blue.pinTop(toView: box, withInset: 10)
blue.fillHorizontal(toView: box, withInset: 10)
blue.pinHeight(90)

red.pinBottom(toView: box, withInset: 10)
red.fillHorizontal(toView: box, withInset: 10)
red.pinHeight(90)

yellow.pinToTop(ofView: red, withOffset: 10)
yellow.pinCenterX(toView: red)
yellow.pinSize(width: 50, height: 50)

That would be look like this:

alt tag