Skip to content

Releases: layoutBox/PinLayout

Set Cocoapod swift versions to : 4.2, 5.0, 5.1

07 Oct 12:52
Compare
Choose a tag to compare

Update podspec to specify explicitly supported swift versions: ['4.2', '5.0', '5.1']

Improve method that validates `width` and `height` values

03 Oct 12:44
Compare
Choose a tag to compare
  • Method that set the width and height now validates more their parameter, by checking NaN and Infinity values.

Usage `UIView.effectiveUserInterfaceLayoutDirection` to detect RTL

16 Sep 20:23
Compare
Choose a tag to compare
  • Use UIView.effectiveUserInterfaceLayoutDirection to detect RTL on iOS 10 and above. This is recommended approach to detect layout direction taking into account view's semantic content attribute, trait environment and UIApplication layout direction.
  • Update Travis to Xcode 11.

Upgrade to Swift 5

15 Aug 15:20
Compare
Choose a tag to compare
  • Upgrade project to Swift 5
  • Update Pods
  • Apply xcodeproj migration

Added by Luc Dion in Pull Request #195

Update Swift Package Manager support for Xcode 11

25 Jun 15:44
Compare
Choose a tag to compare
  • Updated PinLayout to be used with Xcode 11's Swift Package Manager.

  • Fix Warnings: public' modifier is redundant for instance method declared in a public extension.

Add missing Objective-C API methods

02 Mar 14:04
Compare
Choose a tag to compare
  • wrapContent
  • wrapContentWithPadding:(CGFloat)
  • wrapContentWithInsets:(PEdgeInsets)
  • wrapContentWithType:(WrapType)
  • wrapContentWithType:(WrapType) padding:(CGFloat)
  • wrapContentWithType:(WrapType) insets:(PEdgeInsets)

Update support for Swift 4.2

29 Sep 12:25
Compare
Choose a tag to compare

The PinLayout pod doesn't specify anymore the Swift language version.

PinLayout supports Swift versions:

  • Swift 4.2 / 4.1 / 4.0

  • Swift 3.*

  • Added by Luc Dion in Pull Request #178

Minor internal changes

27 Sep 11:24
Compare
Choose a tag to compare

Remove sizeToFit() from SizeCalculable protocol.
This change ensure that PinLayout pin.sizeToFit() method behave correctly. As per the iOS documentation, we should not directly override sizeToFit() but rather always only implement sizeThatFits(_:) for auto-sizing needs. This update aim to remove the sizeToFit() requirement in the SizeCalculable protocol.

Minor changes

27 Sep 11:23
Compare
Choose a tag to compare
  • Cleanup .xcodeproj

  • Removed Swiftlint warnings

  • Fix an issue with PinLayoutSample app related to IntroRTLView example

  • Added by Luc Dion in Pull Request #177

Add methods to layout a view between two other views

28 Aug 23:35
Compare
Choose a tag to compare

Add methods to layout a view between two other views

Add methods to position a view between two other views, either horizontally or vertically.

New Methods:

  • horizontallyBetween(:UIView, and: UIView)
    Position the view between the two specified views horizontally. The method layout the view's left and right edges. The order of the reference views is irrelevant.
    Note that the layout will be applied only if there is horizontal space between the specified views.

  • horizontallyBetween(:UIView, and: UIView, aligned: VerticalAlign)
    Position the view between the two specified views horizontally and aligned it using the specified VerticalAlign. The view will be aligned related to the first specified reference view. Note that the layout will be applied only if there is horizontal space between the specified views.

  • verticallyBetween(:UIView, and: UIView)
    Position the view between the two specified views vertically. The method layout the view's top and bottom edges. The order of the reference views is irrelevant. Note that the layout will be applied only if there is vertical space between the specified views.

  • verticallyBetween(:UIView, and: UIView, aligned: HorizontalAlign)
    Position the view between the two specified views vertically and aligned it using the specified HorizontalAlign. The view will be aligned related to the first specified reference view. Note that the layout will be applied only if there is vertical space between the specified views.

Example:

   view.pin.verticallyBetween(viewA, and: viewB, aligned: .center).marginVertical(10)

See Readme for more information