Releases: layoutBox/PinLayout
Set Cocoapod swift versions to : 4.2, 5.0, 5.1
Update podspec to specify explicitly supported swift versions: ['4.2', '5.0', '5.1']
Improve method that validates `width` and `height` values
Usage `UIView.effectiveUserInterfaceLayoutDirection` to detect RTL
- 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.- Added by MontakOleg in Pull Request #200
- Update Travis to Xcode 11.
Upgrade to Swift 5
Update Swift Package Manager support for Xcode 11
-
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
.- Added by MontakOleg in Pull Request #193
Add missing Objective-C API methods
- wrapContent
- wrapContentWithPadding:(CGFloat)
- wrapContentWithInsets:(PEdgeInsets)
- wrapContentWithType:(WrapType)
- wrapContentWithType:(WrapType) padding:(CGFloat)
- wrapContentWithType:(WrapType) insets:(PEdgeInsets)
Update support for Swift 4.2
Minor internal changes
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.
- Added by Antoine Lamy in Pull Request #164
Minor changes
Add methods to layout a view between two other views
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)