mirror of https://github.com/SnapKit/SnapKit
4.1 KiB
4.1 KiB
CHANGELOG
SnapKit 3.0
SnapKit 3.0 is a complete re-write to take advantage of modern Swift 3.0 as well as clean up the API. As such please use with caution and check your apps thoroughly
Breaking
- iOS 7.0 support has been removed
install
anduninstall
have been removed, useactivate
anddeactivate
instead- DSL is now accessed through
.snp.*
rather than.snp_*
. For exampleview.snp.makeConstraints { }
- Constraints are now updated through
update(offset:)
,update(inset:)
andupdate(priority:)
.inset()
will no longer takeCGPoint
orCGSize
as input.offset()
will no longer takeCGPoint
,CGSize
,EdgeInsets
as inputupdateConstraints
will no longer allow creating new constraints unless there are no existing constraints for the view. If it does generate new constraints it will throw a fatal error.UIEdgeInsets
are now have their right and bottom value inverted for more natural results such asmake.edges.equalTo(UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)).inset()
Enhancements
- Debugging output has been improved to show exact file/line number from which the broken constraint was created
- Exceptions thrown during constraint creation have been replaced with
fatalError
with better output - Constraints are now installed through
NSLayoutConstraint.activate
and what view they are added to is now deferred to UIKit - Added
var contentHugging<Axis>Priority: CGFloat
tomake
- Added
var contentCompressionResistance<Axis>Priority: CGFloat
tomake
- Added support for
UILayoutGuide
viamake.left.equalTo(guide.snp.top)
- Added support for constraining edges to margins or vice versa via
make.edges.equalTo(other.snp.margins)
0.22.0 - August 8 2016
- Added
layoutConstraint
getter toConstraint
to get the underlying NSLayoutConstraints created by a constraint - Updated support for Swift 2.3 and Xcode 8 Beta 3
0.21.1 - June 20 2016
- Added support for Swift 2.3
0.21.0 - May 11 2016
- Added
equalToSuperview()
convenience - Enabled app extension API for tvOS and OSX
0.20.0 - March 25 2016
- Swift 2.2 Support
- Added a
labeled("Hello")
to constraint chain to label your constraints for debugging output.
0.19.1 - January 26 2016
- Rebased from 0.16.0 with only desired commits to resolve many unexpected issues
0.19.0 - January 21 2016
- Improved
.insets()
forwidth
andheight
#183 - Added Carthage tvOS support #179
- Added Package.swift #175
- Codesign is set to Distribution on Release #181
0.15.0 - September 22 2015
- Fixed issues with layout guides on iOS 9
- Fixed warnings related to
guard #available
statements - Better support for legacy platforms (iOS 7 / OS X 10.9). Documentation Here
0.14.0 - September 12 2015
- Swift 2.0 / Xcode 7 GM
0.13.0 - July 30 2015
- BREAKING: Refactored
insets
toinset
and it now accepts Float/Double/CGFloat/Int/UInt as well as EdgeInsets - Size constraints to fixed constants like
make.width.equalTo(50)
now install directly on the from view rather than it’s superview - Debugging should generate property object pointer descriptions
- Debugging now includes file/line number where the closure that created the constraint is in your code
0.11.0 - April 26 2015
- Removed
final
declarations as they were causing crashes in certain circumstances
0.10.0 - April 15 2015
- ANNOUNCEMENT: Snap is now SnapKit
- BREAKING: The constraint making chain now utilises protocols to tighten the API's to avoid user error. This may break some syntaxes.
- BREAKING: Semantic
and
andwith
chain variables were removed - Added
update###
functions toConstraint
so their constants and priorities can be updated - Added a
SnapKit.Config.interfaceLayoutDirection
variable for richer Leading/Trailing support. - Fixed memory leaks that could occur on long lived views
- Ensure Swift 1.2 compatibility
0.9.x - March 2015
- Re-worked some internal API to allow for future updates
- Added
snp_prepareConstraints -> [Constraint]
which allows pre-building of constraints - Added a fatal error to
and
when it is used after relation has been set