All Versions
65
Latest Version
Avg Release Cycle
40 days
Latest Release
-

Changelog History
Page 6

  • v1.3.1 Changes

    🔄 Change

    • ➕ Add new margin method margin(_ insets: UIEdgeInsets)
      Set all margins using an UIEdgeInsets. This method is particularly useful to set all margins using iOS 11 UIView.safeAreaInsets
  • v1.3.0 Changes

    🚀 Released on 2017-08-18.

    🔄 Change

    • 💥 Breaking change related to hCenter(CGFloat), hCenter(percent), vCenter(CGFloat), vCenter(percent):
      • vCenter(_ value: CGFloat) and vCenter(_ percent: Percent):
        The value specifies the distance vertically of the view's center related to the superview's center in pixels. Previously it was related to the superview's top edge.
      • hCenter(_ value: CGFloat) and hCenter(_ percent: Percent):
        The value specifies the distance horizontally of the view's center related to the superview's center in pixels. Previously it was related to the superview's left edge.

    👻 Previously hCenter(0) wasn't equal to hCenter(), same thing for vCenter(0). But this was an exception: top(0) == top(),left(0) == left(), right(0) == right(). Now thay all have the same logic.

  • v1.2.4 Changes

    🔄 Change

    • ➕ Add methods to pin hCenter and vCenter to any other view's edges (including the new hCenter and vCenter edges)
      • New methods:
        • hCenter(to: edge)
          Position horizontally the view's center directly on another view’s edge (left/hCenter/right)
        • vCenter(to: edge)
          Position vertically the view's center directly on another view’s edge (top/vCenter/bottom).
      • New UIView's edges:
        • UIView.edge.hCenter
        • UIView.edge.vCenter
      • Added by Luc Dion in Pull Request #80
  • v1.2.3 Changes

    🔄 Change

    • ⚠ Warnings now display more context information

      • The class name of the view being layouted.
      • The view's current frame
      • The class name of all superviews
      • The view's Tag

      Examples:

      • 👉 PinLayout Warning: width(50.0%) won't be applied, the view (UIView) must be added as a sub-view before being layouted using this method.
        (Layouted view info: Type: UIView, Frame: (10.0, 10.0, 20.0, 30.0), Tag: 0)
      • 👉 PinLayout Warning: width(-20.0) won't be applied, the width (-20.0) must be greater than or equal to zero.
        (Layouted view info: Type: ItemButton, Frame: (140.0, 100.0, 100.0, 60.0), Superviews: HomeView -> UIView, Tag: 0)
      • 👉 PinLayout Warning: topLeft(to: .topLeft, of: (UIView, Frame: (10.0, 10.0, 10.0, 10.0))) won't be applied, the reference view (UIView, Frame: (10.0, 10.0, 10.0, 10.0)) must be added as a sub-view before being used as a reference.
        (Layouted view info: Type: UIView, Frame: (140.0, 100.0, 100.0, 60.0), Superviews: UIView -> UIView, Tag: 0)
      • Added by Luc Dion in Pull Request #75
  • v1.2.2 Changes

    🔄 Change

    • ➕ Added a new method fitSize() that will replace the sizeThatFit() method. Its prior name was creating confusion with the already existingUIView.sizeToFit()` method.
    • 🗄 sizeThatFit() method has been marked as deprecated.
  • v1.2.1 Changes

    🔄 Change

    • ➕ Add Swift 4.0 support
  • v1.2.0 Changes

    🚀 Released on 2017-08-18.

    🔄 Change

    • 💥 Breaking change related to the following anchor's name. The change makes these anchor's name more standard:

      • UIView.anchors.leftCenter has been renamed UIView.anchors.centerLeft
      • UIView.anchors.rightCenter has been renamed UIView.anchors.centerRight
    • ➕ Add left to right (LTR) and right to left (RTL) language support.
      ➕ Additions:

      • Pin.layoutDirection(_ direction: LayoutDirection)
      • start(), start(_ value: CGFloat), start(_ percent: Percent)
      • end(), end(_ value: CGFloat), end(_ percent: Percent)
      • UIView.edge.start
      • UIView.edge.end
      • UIView.anchor.topStart
      • UIView.anchor.topEnd
      • UIView.anchor.centerStart
      • UIView.anchor.centerEnd
      • UIView.anchor.bottomStart
      • UIView.anchor.bottomEnd
      • topStart(to anchor: Anchor), topStart()
      • topEnd(to anchor: Anchor), topEnd()
      • centerStart(to anchor: Anchor), centerStart()
      • centerEnd(to anchor: Anchor), centerEnd()
      • bottomStart(to anchor: Anchor), bottomStart()
      • bottomEnd(to anchor: Anchor), bottomEnd()
      • before(of: UIView), before(of: [UIView])
      • before(of: UIView, aligned: VerticalAlign), before(of: [UIView], aligned: VerticalAlign)
      • after(of: UIView), after(of: [UIView])
      • after(of: UIView, aligned: VerticalAlign), after(of: [UIView], aligned: VerticalAlign)
      • marginStart(_ value: CGFloat)
      • marginEnd(_ value: CGFloat)
      • HorizontalAlign.start
      • HorizontalAlign.end
      • Added by Luc Dion in Pull Request #56
  • v1.1.5 Changes

    🚀 Released on 2017-07-14.

    🔄 Change

    • 🛠 Fix missing UIKit import. The problem was occuring while using Swift Package Manager.
  • v1.1.4 Changes

    🚀 Released on 2017-07-09.

    🔄 Change

    • Implementation of:
      • minWidth
      • maxWidth
      • minHeight
      • maxHeight
      • justify(:HorizontalAlign)
      • align(:VerticalAlign)
      • Added by Luc Dion in Pull Request #53
  • v1.1.1 Changes

    🚀 Released on 2017-06-27.

    🔄 Change

    • Support Xcode 9 Beta 2
    • ➕ Add a Form example
      • Added by Luc Dion in Pull Request #51
      • This example demonstrates:
        • Usage of filter method when using PinLayout's relative methods (above, below, left, right)
        • Adjusting a container's height to match all its children.
        • Animation of the appearance/disappearance of UIViews.