Go to file
Robert Payne 1d0160bce2 Fix typo 2020-09-25 15:32:35 +12:00
CodeSnippets Update code snippets 2016-12-26 00:25:57 +13:00
Documentation Added quirks section to migration guide 2016-12-26 01:05:48 +13:00
Example-iOS Update example project for Swift 3 (#376) 2016-12-26 00:21:10 +13:00
SnapKit.xcodeproj Fix typo 2020-09-25 15:32:35 +12:00
SnapKit.xcworkspace Add Playground Sample (#608) 2019-08-05 17:16:46 +12:00
SnapKitPlayground.playground Add Playground Sample (#608) 2019-08-05 17:16:46 +12:00
Sources Fix typo 2020-09-25 15:32:35 +12:00
Supporting Files Xcode 12 and SwiftPM enhancements 2020-09-25 15:27:40 +12:00
Tests/SnapKitTests Add test assert to unit test testCanSetLabel. (#625) 2019-11-27 23:28:29 +13:00
.gitignore added updates to Package.swift so it can be imported with Xcode 11 (#615) 2019-08-05 17:17:03 +12:00
.travis.yml Use << for ConstraintAttributes options (#659) 2020-07-08 10:53:40 +12:00
CONTRIBUTING.md Update CONTRIBUTING.md 2016-09-20 16:23:17 +12:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2016-09-22 22:21:36 +12:00
LICENSE Snap is now SnapKit 2015-04-15 23:07:50 +12:00
Package.swift Xcode 12 and SwiftPM enhancements 2020-09-25 15:27:40 +12:00
README.md Update README to include SPM installation notes (#673) 2020-09-25 15:29:40 +12:00
SnapKit.podspec Add back support for OS X 10.11 (#645) 2020-07-08 10:52:57 +12: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 4.x please ensure you are using >= 4.0.0 ⚠️

⚠️ To use with Swift 5.x please ensure you are using >= 5.0.0 ⚠️

Contents

Requirements

  • iOS 10.0+ / Mac OS X 10.12+ / tvOS 10.0+
  • Xcode 10.0+
  • Swift 4.0+

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 4.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', '~> 5.0.0'
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" ~> 5.0.0

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

Swift Package Manager

Swift Package Manager is a tool for managing the distribution of Swift code. Its integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.

Xcode 11+ is required to build SnapKit using Swift Package Manager.

To integrate SnapKit into your Xcode project using Swift Package Manager, add it to the dependencies value of your Package.swift:

dependencies: [
    .package(url: "https://github.com/SnapKit/SnapKit.git", .upToNextMajor(from: "5.0.1"))
]

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.backgroundColor = .green
        box.snp.makeConstraints { (make) -> Void in
           make.width.height.equalTo(50)
           make.center.equalTo(self.view)
        }
    }

}

Playground

You can try SnapKit in Playground.

Note:

To try SnapKit in playground, open SnapKit.xcworkspace and build SnapKit.framework for any simulator first.

Resources

Credits

License

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