Skip to content

Commit

Permalink
Update Readme and update version to 1.7.8
Browse files Browse the repository at this point in the history
  • Loading branch information
Luc Dion committed Jun 26, 2018
1 parent 191a818 commit 3bd37b3
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 28 deletions.
25 changes: 24 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,21 @@

# Change Log

## [1.7.8](https://github.com/layoutBox/PinLayout/releases/tag/1.7.6)
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.
* `CALayer.pin.safeArea` property is not available.
* `aspectRatio()` with no parameters

See [CALayer Support documentation](https://github.com/layoutBox/PinLayout#calayer-support) for more information

* Added by [Antoine Lamy](https://github.com/antoinelamy) in Pull Request [#151](https://github.com/layoutBox/PinLayout/pull/151)


## [1.7.7](https://github.com/layoutBox/PinLayout/releases/tag/1.7.6)
Released on 2018-06-19

Expand All @@ -17,14 +32,22 @@ Refactoring to avoid having to deal directly with view types, making it easier t


## [1.7.6](https://github.com/layoutBox/PinLayout/releases/tag/1.7.6)
Released on 2018-06-07
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.
* Added by [Luc Dion](https://github.com/lucdion) in Pull Request [#143](https://github.com/layoutBox/PinLayout/pull/143)

#### Add an example using `wrapContent()` methods
* Added by [Luc Dion](https://github.com/lucdion) in Pull Request [#145](https://github.com/layoutBox/PinLayout/pull/145)

#### Refactor views frame/bounds access
* Added by [Luc Dion](https://github.com/lucdion) in Pull Request [#147](https://github.com/layoutBox/PinLayout/pull/147)



## [1.7.5](https://github.com/layoutBox/PinLayout/releases/tag/1.7.5)
Released on 2018-06-05

Expand Down
2 changes: 1 addition & 1 deletion PinLayout.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

Pod::Spec.new do |spec|
spec.name = "PinLayout"
spec.version = "1.7.7"
spec.version = "1.7.8"
spec.summary = "Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. [iOS/macOS/tvOS]"
spec.description = "Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. [iOS/macOS/tvOS]"
spec.homepage = "https://github.com/layoutBox/PinLayout"
Expand Down
37 changes: 11 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
<!--<a href="https://github.com/layoutBox/PinLayout/issues"><img src="https://img.shields.io/github/issues/layoutBox/PinLayout.svg?style=flat" /></a>-->


Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable.
Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. PinLayout can layouts UIView, NSView and CALayer.


> "No Auto layout constraints attached"
Expand All @@ -38,17 +39,11 @@ Extremely Fast views layouting without auto layout. No magic, pure code, full co

### Recent changes/features
* :star: PinLayout can now layout CALayer. See [CALayer Support](#calayer_support) for more information.

* :star: PinLayout has moved to the **[layoutBox](https://github.com/layoutBox)** organization. See other **[layoutBox](https://github.com/layoutBox)** projects.

* :star: Add `wrapContent()` methods that adjust view's width and height to wrap all its subviews. See [wrapContent](#wrapContent) for more information.

* :star: PinLayout now support macOS. See [macOS Support](#macos_support) for more information.

* :star: PinLayout expose the `safeAreaInsets` through [`UIView.pin.safeArea`](#safeAreaInsets), this property support not only iOS 11, but is also backward compatible for earlier iOS releases (7/8/9/10). See [safeAreaInsets support](#safeAreaInsets) for more information.

* :star: Methods [`all(:CGFloat)`, `horizontally(:CGFloat)` / `horizontally(:Percent)`, `vertically(:CGFloat)` / `vertically(:Percent)`](#pin_multiple_edges)



### Content
Expand Down Expand Up @@ -1540,37 +1535,27 @@ This app is available in the `Example` folder. Note that you must do a `pod inst
<a name="macos_support"></a>
## macOS Support

PinLayout **support of macOS is not complete**, see here the particularities of the current implementation:
PinLayout can layout **NSView**'s on macOS. All PinLayout's properties and methods are available, with the following exceptions:

* PinLayout supports ** only views that have a parent (superview) using a flipped coordinate system**, i.e. views for which the computed property `var isFlipped: Bool` returns true. In a flipped coordinate system, the origin is in the upper-left corner of the view and y-values extend downward. UIKit use this coordinate system. In a non-flipped coordinate system (default mode), the origin is in the lower-left corner of the view and positive y-values extend upward. See [Apple's documentation for more information about `NSView.isFlipped`](https://developer.apple.com/documentation/appkit/nsview/1483532-isflipped). The support of non-flipped coordinate system will be added soon.
* PinLayout supports **only views that have a parent (superview) using a flipped coordinate system**, i.e. views for which the computed property `var isFlipped: Bool` returns true. In a flipped coordinate system, the origin is in the upper-left corner of the view and y-values extend downward. UIKit use this coordinate system. In a non-flipped coordinate system (default mode), the origin is in the lower-left corner of the view and positive y-values extend upward. See [Apple's documentation for more information about `NSView.isFlipped`](https://developer.apple.com/documentation/appkit/nsview/1483532-isflipped). The support of non-flipped coordinate system will be added soon.

* These methods are currently not supported on macOS, but they will be implemented soon:
* [`sizeToFit(:FitType)`](#sizeToFit) is supported only for instances that inherits from NSControl. Support for [`sizeToFit(:FitType)`](#sizeToFit) can be added to your custom NSView subclasses, just make those views conform to the `SizeCalculable` protocol and implement the two required functions.

* [`sizeToFit(:FitType)`](#sizeToFit) on any view that is not a subclass of NSControl
* [`aspectRatio()`](#aspect_ratio) with no parameters (Coming soon)

* Support for [`sizeToFit(:FitType)`](#sizeToFit) can be added to your custom NSView subclasses. Just make those views conform to the `SizeCalculable` protocol and implement the two required functions.


* [`UIView.pin.safeArea`](#safeAreaInsets) property is not available, AppKit doesn't have an UIView.safeAreaInsets equivalent.
* [`NSView.pin.safeArea`](#safeAreaInsets) property is not available, AppKit doesn't have an `UIView.safeAreaInsets` equivalent.

All other PinLayout's methods and properties are available on macOS!
* [`aspectRatio()`](#aspect_ratio) with no parameters.

<br>


<a name="calayer_support"></a>
## CALayer Support

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

* These methods are currently not supported for CALayers

* [`sizeToFit(:FitType)`](#sizeToFit) is not supported.
* [`aspectRatio()`](#aspect_ratio) with no parameters.
* [`CALayer.pin.safeArea`](#safeAreaInsets)
PinLayout can layouts **CALayer**'s. All PinLayout's properties and methods are available, with the following exceptions:

* Support for [`sizeToFit(:FitType)`](#sizeToFit) can be added to your custom CALayer subclasses. Just make those layers conform to the `SizeCalculable` protocol and implement the two required functions.
* [`sizeToFit(:FitType)`](#sizeToFit) is not supported. Support for [`sizeToFit(:FitType)`](#sizeToFit) can be added to your custom CALayer subclasses, just make those layers conform to the `SizeCalculable` protocol and implement the two required functions.
* [`CALayer.pin.safeArea`](#safeAreaInsets) property is not available.
* [`aspectRatio()`](#aspect_ratio) with no parameters

###### Usage Examples:

Expand Down

0 comments on commit 3bd37b3

Please sign in to comment.