Go to file
Robert Payne 02a0b2d2b7 3.0.2 Release (#347)
* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* fix "Mutating a priority from required to not on an installed constra… (#323)

* fix "Mutating a priority from required to not on an installed constraint (or vice-versa) is not supported." when the priority is not changed

* add more check when changing layout constraint priority

* add more lenient check when changing layout constraint priority

* fix UILayoutPriorityRequired available only on iOS

* fix undeclared UILayoutPriority on macOS

* add check for tvOS

* change the result constraint of maker.center.equalTo(CGPoint) to based on the original point of superview (#336)

* change center.equalTo

* fix logic

* Add ConstraintMaker shortcuts for superview access (#341)

Added two new shortcuts for access superview in ConstraintMakerRelatable
`greaterThanOrEqualToSuperview`
`lessThanOrEqualToSuperview`

* Add `topMargin` to constraint maker (#343)

* Fix erroneus scheme

* Update settings for Carthage

* Prepare 3.0.2 release
2016-10-08 00:11:36 +13:00
CodeSnippets Snap is now SnapKit 2015-04-15 23:07:50 +12:00
Documentation Update SnapKit 3.0 Migration Guide.md 2016-10-07 22:56:16 +13:00
Example-iOS Fixed landscape layout for redView and fixed typo in Contributing.md 2016-09-06 21:14:02 -04:00
SnapKit.xcodeproj 3.0.2 Release (#347) 2016-10-08 00:11:36 +13:00
SnapKit.xcworkspace Snap is now SnapKit 2015-04-15 23:07:50 +12:00
Source 3.0.2 Release (#347) 2016-10-08 00:11:36 +13:00
Tests Fix up debug labels accessors 2016-09-20 17:08:30 +12:00
.gitignore Updated gitignore 2015-04-12 22:38:56 +12:00
.swift-version Add Swift Version 2016-09-20 17:18:04 +12:00
.travis.yml Improve project setup for multiplatform 2016-09-14 20:44:06 +12:00
CONTRIBUTING.md Update CONTRIBUTING.md 2016-09-20 16:23:17 +12:00
ISSUE_TEMPLATE.md 3.0.2 Release (#347) 2016-10-08 00:11:36 +13:00
LICENSE Snap is now SnapKit 2015-04-15 23:07:50 +12:00
Package.swift Update license file on Package.swift 2016-01-21 11:06:31 +13:00
README.md 3.0.2 Release (#347) 2016-10-08 00:11:36 +13:00
SnapKit.podspec 3.0.2 Release (#347) 2016-10-08 00:11:36 +13:00

README.md

SnapKit is a DSL to make Auto Layout easy on both iOS and OS X.

Build Status Platform Cocoapods Compatible Carthage compatible

⚠️ To use with Swift 2.x please ensure you are using == 0.22.0 ⚠️

⚠️ To use with Swift 3.x please ensure you are using >= 3.0.0 ⚠️

Contents

Requirements

  • iOS 8.0+ / Mac OS X 10.11+ / tvOS 9.0+
  • Xcode 8.0+
  • Swift 3.0+

Migration Guides

Communication

  • If you need help, use Stack Overflow. (Tag 'snapkit')
  • If you'd like to ask a general question, use Stack Overflow.
  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 1.1.0+ is required to build SnapKit 3.0.0+.

To integrate SnapKit into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'SnapKit', '~> 3.0.2'
end

Then, run the following command:

$ pod install

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate SnapKit into your Xcode project using Carthage, specify it in your Cartfile:

github "SnapKit/SnapKit" ~> 3.0.2

Run carthage update to build the framework and drag the built SnapKit.framework into your Xcode project.

Manually

If you prefer not to use either of the aforementioned dependency managers, you can integrate SnapKit into your project manually.


Usage

Quick Start

import SnapKit

class MyViewController: UIViewController {

    lazy var box = UIView()

    override func viewDidLoad() {
        super.viewDidLoad()

        self.view.addSubview(box)
        box.snp.makeConstraints { (make) -> Void in
           make.width.height.equalTo(50)
           make.center.equalTo(self.view)
        }
    }

}

Resources

Credits

License

SnapKit is released under the MIT license. See LICENSE for details.