All Versions
Latest Version
Avg Release Cycle
40 days
Latest Release

Changelog History
Page 3

  • v1.8.2 Changes

    August 25, 2018

    โž• Add properties:

    ๐Ÿ“Œ pin.readableMargins: UIEdgeInset :
    ๐Ÿ“š PinLayout's property expose UIKit UIView.readableContentGuide as an UIEdgeInsets. This is really useful since UIKit only expose the readableContent area to Auto Layout using UILayoutGuide.

    ๐Ÿ“Œ pin.layoutmargins: UIEdgeInset
    ๐Ÿ“š PinLayout's property expose directly the value of UIKit UIView.layoutMargins. The property exists only to be consistent with the other areas: pin.safeArea, pin.readableMargins and pin.layoutmargins. So its usage is not necessary.

    โž• Add examples using these properties:


  • v1.8.1 Changes

    August 23, 2018

    ๐Ÿš€ Released on 2018-08-23

    ๐Ÿ‘ PinLayout Swift 3 support

    ๐Ÿ‘ PinLayout supports Swift 3 and Swift 4

  • v1.8.0 Changes

    August 21, 2018

    ๐Ÿš€ Released on 2018-08-21

    ๐Ÿšš Deprecated method fitSize() has been removed

    ๐Ÿ‘€ fitSize() has been removed after being deprecated for 10 months. sizeToFit(:FitType) should now be used instead. See Adjusting size.


    • ๐Ÿ”จ Refactor relative positioning methods source code (above(...), after(...), ...) using a default parameter value for the alignment parameter.
    • ๐Ÿ›  Fix unit test screen density.
    • โšก๏ธ Update few examples source code.

    • โž• Added by Luc Dion in Pull Request #167

  • v1.7.12 Changes

    August 16, 2018

    ๐Ÿš€ Released on 2018-08-16

    โž• Add Animations documentation and example

    โž• Add documentation that explains how PinLayout can handle view's animations.

    • ๐Ÿ‘‰ Show few strategies that can be used to animate views.
    • โž• Add an Animation example in the Example app.
    • โž• Add an new "Examples" markdown page showing all PinLayout's examples.
    • Convert fileprivate to private declarations

    • โž• Added by Luc Dion in Pull Request #165

  • v1.7.11 Changes

    ๐Ÿš€ Released on 2018-08-05

    Method that position multiple edges now accept an offset parameter.

    The offset parameter that specifies the distance from their superview's corresponding edges in pixels.

    ๐Ÿ†• New methods:

    • topLeft(_ offset: CGFloat)
    • topCenter(_ topOffset: CGFloat)
    • topRight(_ offset: CGFloat)

    • centerLeft(_ leftOffset: CGFloat)

    • center(_ offset: CGFloat)

    • centerRight(_ rightOffset offset: CGFloat)

    • bottomLeft(_ offset: CGFloat)

    • bottomCenter(_ bottomOffset: CGFloat)

    • bottomRight(_ offset: CGFloat)

    For example, to position a view at the top left corner with a top and left margin of 10 pixels:

    Other change

    0๏ธโƒฃ Cleanup the interface by using default value parameters.

  • v1.7.10 Changes

    ๐Ÿš€ Released on 2018-07-17

    โž• Add sizeToFit() method.

    The method adjust the view's size based on the result of the method UIView.sizeToFit(). Particularly useful for controls/views that have an intrinsic size (label, button, ...).

  • v1.7.9 Changes

    ๐Ÿš€ Released on 2018-06-28

    ๐Ÿ›  Fix a regression

    The recent changes to PinLayout that enable the layout of CALayer has impacted the layout of UIViews.

  • v1.7.8 Changes

    ๐Ÿš€ Released on 2018-06-26

    โž• Add support for CALayer layout

    PinLayout can now layouts CALayer's. All PinLayout's properties and methods are available, with the following exceptions:

    • ๐Ÿ‘ sizeToFit(:FitType) is not supported. Support for sizeToFit(:FitType) can be added to your custom CALayer subclasses, just make those layers conform to the SizeCalculable protocol and implement the two required functions.
    • ๐Ÿ“Œ property is not available.
    • aspectRatio() with no parameters

    ๐Ÿ“š See CALayer Support documentation for more information

  • v1.7.7 Changes

    ๐Ÿš€ Released on 2018-06-19

    ๐Ÿ”จ Refactoring using generics

    ๐Ÿ”จ Refactoring to avoid having to deal directly with view types, making it easier to extend layouting to other APIs (e.g: CALayer)

  • v1.7.6 Changes

    ๐Ÿš€ Released on 2018-06-12

    PinLayout has moved to the layoutBox organization

    PinLayout is now part of the same organization as other open source projects related to layout using Swift.

    ๐Ÿ”จ Refactor source code that handle size adjustment.

    โž• Add an example using wrapContent() methods

    ๐Ÿ”จ Refactor views frame/bounds access