SnapKit is a DSL to make Auto Layout easy on both iOS and OS X.
⚠️ 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+
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 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.6.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. It’s 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
- Robert Payne (@robertjpayne)
- Many other contributors
License
SnapKit is released under the MIT license. See LICENSE for details.
Описание
A Swift Autolayout DSL for iOS & OS X