Releases: PureLayout/PureLayout
Releases · PureLayout/PureLayout
PureLayout v3.0.0
PureLayout v3.0.0 is a major release, with new APIs, enhancements, and other changes. The v3.0.0 release remains fully backwards compatible with Xcode 5, iOS 6, and OS X 10.7.
Upgrading from PureLayout v2.x? Check out the migration guide.
Breaking Changes from v2.x
- The following class methods on
UIView
/NSView
have been moved toNSLayoutConstraint
. 1583f7b+[autoCreateConstraintsWithoutInstalling:]
+[autoSetPriority:forConstraints:]
+[autoSetIdentifier:forConstraints:]
- The methods deprecated in PureLayout v2.0.0 have been removed entirely. 6d20408
Additions
- New API to batch create, activate, and return all constraints within a block. c2bcb1f
+[NSLayoutConstraint autoCreateAndInstallConstraints:]
- New API to configure an initialized view for use with auto layout (thanks @vivianforzj). e2e75ab
-[ALView configureForAutoLayout]
- New API to align a view's axis to another view's axis with a multiplier (thanks @s0mmer). c5a4dc2
-[ALView autoAlignAxis:toSameAxisOfView:withMultiplier:]
- New API to pin a view's edges to its superview's edges with zero insets (thanks @pfleiner). c97a577
-[ALView autoPinEdgesToSuperviewEdges]
Enhancements
- Generics have been added throughout the entire codebase. b030f4f bcd91bf 571de94
- Nullability annotations have been added for all headers. b030f4f
- The methods to distribute views now support distributing an array containing a single view (thanks @pnc). a66c620
Fixes
- Fixed a warning when compiling using
-Wconversion
. f58e4b2
Fix OS X Legacy Compatibility
- Fix a compilation issue when targeting OS X 10.7
Update to v2.0.5
No functional changes, this is required for CocoaPods because the source files moved in the repo.
Enhancements & Fixes
- Enhance the
autoCreateConstraintsWithoutInstalling:
API to return an array of created constraints - Add a new API to set the size of an array of views
- Fix a constraint exception when distributing views
App Extension Support
- Add support for using PureLayout in App Extensions. See this page for more details.
Internal enhancements
- Use a new method to determine the UI layout direction (thanks @vytis)
- Make activating and deactivating constraints more efficient in some cases
Bug Fixes
- Make the constraint identifier APIs available on Mac OS X, as long as the SDK is at least 10.10 (will work with deployment target of 10.9 or higher)
- Fix issues with nesting constraint blocks (nested calls to autoSetPriority:, autoSetIdentifier:, etc)
- Don't set the priority of constraints when installing them unless inside a constraints block
PureLayout v2.0.0
PureLayout v2.0.0 is a major release, with many new features, APIs, and enhancements. The v2.0.0 release is fully backwards compatible with Xcode 5 and iOS 6 and 7 deployment targets (OS X deployment target remains at 10.7 as well).
Upgrading from PureLayout v1.x? Check out the migration guide.
Looking to take it for a test drive? Check out the brand new demos in the example project! (Download as .zip here)
Changes include:
- Full support for new features in iOS 8 SDK (first baseline and all layout margin attributes, active & identifier properties on NSLayoutConstraint)
- New API to constrain views to the iOS 8 layout margin attributes
- New API to prevent automatic installation of constraints
- Improved Swift compatibility using a new combined enum type ALAttribute
- Modified existing APIs to distribute views for naming & type consistency
- Deprecation of the constraint removal API on UIView
- Internal enhancements and optimizations
More options distributing views
- Add a new API to allow distributing views with fixed spacing but without matching all their sizes (relying on each view's intrinsic content size instead)
Swift Compatibility
- Add a Foundation import which enables Swift compatibility using a bridging header