Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
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.
UserInterfaceLayoutDirectionparameter added to
configureopen for overriding
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.
Adding builders to the pod. Creating target for objc code. (#194) Adding the builders to the LayoutKitObjC pod. This required moving the objc enums to the header files, since objc builders cannot depend on Swift implementation. Since the cross-language integration depends on header files that match the module name, creating a new LayoutKitObjC target for Xcode build to use to match the cocoa pods build. Verified that build succeeds for Xcode and `pod lib lint`.
Some fixes for the Objective-C wrappers:
- For LOKReloadableViewLayoutAdapter, adding batch update support.
- For LOKSizeLayout, adding a configure block parameter.
- For LOKFlexibility, making its values public.
- Making Objective-C API wrapper classes open for subclassing.
Adding an Objective-C compatible API.
This API is in the new LayoutKitObjC pod and not in the pre-existing pod.
Also, adding a
lineHeight parameter to
LabelLayout to support custom line heights for line limit height calculation according to the