Skip to content

Releases: PureLayout/PureLayout

PureLayout v3.0.0

17 Aug 05:24
Compare
Choose a tag to compare

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 to NSLayoutConstraint. 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

25 Apr 23:24
Compare
Choose a tag to compare
  • Fix a compilation issue when targeting OS X 10.7

Update to v2.0.5

02 Feb 06:21
Compare
Choose a tag to compare
No functional changes, this is required for CocoaPods because the source files moved in the repo.

Enhancements & Fixes

09 Dec 03:45
Compare
Choose a tag to compare
  • 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

17 Nov 17:25
Compare
Choose a tag to compare
  • Add support for using PureLayout in App Extensions. See this page for more details.

Internal enhancements

10 Nov 23:57
Compare
Choose a tag to compare
  • Use a new method to determine the UI layout direction (thanks @vytis)
  • Make activating and deactivating constraints more efficient in some cases

Bug Fixes

18 Oct 23:24
Compare
Choose a tag to compare
  • 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

16 Oct 03:16
Compare
Choose a tag to compare

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

07 Sep 21:13
Compare
Choose a tag to compare
  • 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

24 Jun 17:50
Compare
Choose a tag to compare
  • Add a Foundation import which enables Swift compatibility using a bridging header