LayoutKit is a fast view layout library for iOS, macOS, and tvOS.
Adding support for nested view trees that are produced by different makeViews calls. (One example is a collection view that is created by calling makeViews on a Layout object and its cells that are also similarly populated from their own specific Layout objects.)
Bugfix version fixes handling of flexibility on Overlay and Inset layouts.
makeViews
method now resets the transform and anchorPoint for recycled views before handing them off to client code for configuration.Major change in this release is that LayoutKit now builds cleanly with Swift 4.1 (Xcode 9.3).
For the Objective-C side, the configureView:
method on the LOKLayout
protocol is no longer optional. It is valid to provide an empty implementation if it is legitimately not needed for a particular layout implementation.
Exposing a few more APIs to Objective-C that previously were available to Swift only.
UserInterfaceLayoutDirection
parameter added to LOKLayoutArrangement
makeViews
methodLOKBaseLayout
making needsView
and configure
open for overridinghorizontallyHighlyFlexible
to LOKFlexibility
Added initializers to the ObjC builders in addition to their static methods. This change allows people to subclass these builders, which previously was not possible.
If you use this library from Swift, there are no changes!
There are no changes to the Swift version of the library. The changes in this release are breaking changes to the builder objects created for Objective-C compatibility. We have changed those builders so that the chainable block properties no longer have the with
prefix. Also, the properties that you could also set directly are now private so that the chainable way is the only way available now.
The Objective C layout wrapper builder classes now support a more succinct syntax for initializing layouts. Getting a bit closer to the convenient default parameter values we have in Swift.
Also adding Objective C wrappers for the animation support API and for flexibility values that are flexible only on one of the horizontal or vertical axis.