Latest 0.1.0
Homepage https://github.com/ashikahmad/SugarAnchor
License MIT
Platforms ios 9.0
Authors

CI Status
Version
License
Platform

SugarAnchor is syntactic sugar on NSLayoutAnchor to help us write more compact, readable and easy layout code. It wraps up all of NSLayoutXAxisAnchor, NSLayoutYAxisAnchor and NSLayoutDimension functionalities under some easy to use operators to reduce verbosity.

Example

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

Requirements

  • [x] Xcode 8.3 or above
  • [x] Swift 3.1
  • [x] iOS 9.0 or above

Installation

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

pod "SugarAnchor"

Operator Summary

Think ~ as Inactive constraint and * as Active constraint. Then with =*=, you’ll create an active constraint directly or with =~= you may create an inactive constraint which you can activate later.

view1.leftAnchor =*= view2.leftAnchor + 10

// Or

let leftConstraint = (view1.leftAnchor =~= view2.leftAnchor + 10)
leftConstraint.isActive = true

In each case, you’ll get the constraint to keep or just ignore. For example, for an active one:

self.heightConstraint = (v1.heightAnchor =*= 200)
// Later somewhere
self.heightConstraint.constant = 100

Operator list

Operator Description Example
=*= Equal
(Active)
v1.leadingAnchor =*= v2.leadingAnchor
v1.leftAnchor =*= v2.leftAnchor + 20
v1.widthAnchor =*= v2.widthAnchor / 2 + 10
v1.heightAnchor =*= 200
<*= LessThanOrEqual
(Active)
v1.bottomAnchor <*= container.bottomAnchor - 8
>*= GreaterThanOrEqual
(Active)
v2.leadingAnchor >*= v1.trailingAnchor + 5
=~= Equal
(Inactive)
(v1.widthAnchor =~= 200).isActive = true
<~= LessThanOrEqual
(Inactive)
(v1.bottomAnchor <~= container.bottomAnchor - 8).isActive = true
>~= GreaterThanOrEqual
(Inactive)
(v2.leadingAnchor >~= v1.trailingAnchor + 5).isActive = true

Author

ashikahmad, [email protected]

License

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

Latest podspec

{
    "name": "SugarAnchor",
    "version": "0.1.0",
    "summary": "A simpler way to work with NSLayoutAnchor",
    "description": "SugarAnchor is syntactic sugar on NSLayoutAnchor to help us write more compact, readable and easy layout code. It wraps up all of NSLayoutXAxisAnchor, NSLayoutYAxisAnchor and NSLayoutDimension functionalities under some easy to use operators to reduce verbosity.",
    "homepage": "https://github.com/ashikahmad/SugarAnchor",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "ashikahmad": "[email protected]"
    },
    "source": {
        "git": "https://github.com/ashikahmad/SugarAnchor.git",
        "tag": "0.1.0"
    },
    "platforms": {
        "ios": "9.0"
    },
    "source_files": "SugarAnchor/Classes/**/*",
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This