项目作者: yonat

项目描述 :
Minimal AutoLayout convenience layer. Program constraints succinctly. ⚠️ Moved into https://github.com/yonat/SweeterSwift
高级语言: Swift
项目地址: git://github.com/yonat/MiniLayout.git
创建时间: 2016-02-20T08:03:30Z
项目社区:https://github.com/yonat/MiniLayout

开源协议:MIT License

下载


MiniLayout

Minimal AutoLayout convenience layer. Program constraints succinctly.

Swift Version
Build Status
License
CocoaPods Compatible
Platform
PRs Welcome

Usage

Put label over textField

  1. // using MiniLayout:
  2. view.constrain(label, at: .leading, to: textField)
  3. view.constrain(textField, at: .top, to: label, at: .bottom, diff: 8)
  4. // without MiniLayout:
  5. view.addConstraint( NSLayoutConstraint(item: label, attribute: .leading, relatedBy: .equal, toItem: textField, attribute: .leading, multiplier: 1, constant: 0) )
  6. view.addConstraint( NSLayoutConstraint(item: textField, attribute: .top, relatedBy: .equal, toItem: label, attribute: .bottom, multiplier: 1, constant: 8) )

Add button at the center of view

  1. // using MiniLayout:
  2. view.addConstrainedSubview(button, constrain: .centerX, .centerY)
  3. // without MiniLayout:
  4. view.addSubview(button)
  5. button.setTranslatesAutoresizingMaskIntoConstraints(false)
  6. view.addConstraint( NSLayoutConstraint(item: button, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0) )
  7. view.addConstraint( NSLayoutConstraint(item: button, attribute: .centerY, relatedBy: .equal, toItem: view, attribute: .centerY, multiplier: 1, constant: 0) )

Add child view controller covering all but the bottom margin

  1. // using MiniLayout:
  2. addConstrainedChild(vc, constrain: .bottomMargin, .top, .left, .right)
  3. // without MiniLayout:
  4. addChild(vc)
  5. view.addSubview(vc.view)
  6. vc.view.setTranslatesAutoresizingMaskIntoConstraints(false)
  7. view.addConstraint( NSLayoutConstraint(item: vc.view, attribute: .bottomMargin, relatedBy: .equal, toItem: view, attribute: .bottomMargin, multiplier: 1, constant: 0) )
  8. view.addConstraint( NSLayoutConstraint(item: vc.view, attribute: .top, relatedBy: .equal, toItem: view, attribute: .top, multiplier: 1, constant: 0) )
  9. view.addConstraint( NSLayoutConstraint(item: vc.view, attribute: .left, relatedBy: .equal, toItem: view, attribute: .left, multiplier: 1, constant: 0) )
  10. view.addConstraint( NSLayoutConstraint(item: vc.view, attribute: .right, relatedBy: .equal, toItem: view, attribute: .right, multiplier: 1, constant: 0) )
  11. vc.didMove(toParent: self)

Installation

Manually:

Add MiniLayout.swift to your project.

Using CocoaPods:

  1. pod 'MiniLayout'

Legacy versions:

Swift version MiniLayout version
4.0 (Xcode 9.4) pod 'MiniLayout', '~> 1.2.1'
3 pod 'MiniLayout', '~> 1.1.0'
2.3 pod 'MiniLayout', '~> 1.0.1'

Meta

@yonatsharon

https://github.com/yonat/MiniLayout