Skip to content
This repository was archived by the owner on Feb 17, 2021. It is now read-only.

Releases: LinkedInAttic/LayoutKit

Nested Layouts

Choose a tag to compare

@staguer staguer released this 30 Jan 05:50
c77e9bc

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.)

Flexibility bugfixes.

Choose a tag to compare

@staguer staguer released this 16 Oct 20:54
187c7ae

Bugfix version fixes handling of flexibility on Overlay and Inset layouts.

  • OverlayLayout now has an optional flexibility parameter, and defaults to the flexibility of the first primary layout.
  • InsetLayout now has an optional flexibility parameter, and the corresponding builder’s flexibility parameter is now hooked up whereas it had no effect before.

Overlay and transform

Choose a tag to compare

@staguer staguer released this 05 Oct 23:02
d1b2a03
  • On OverlayLayout the primary layout parameter is now an array of layouts rather than a single layout.
  • The view recycling mechanism in the makeViews method now resets the transform and anchorPoint for recycled views before handing them off to client code for configuration.
  • Minor warnings and playgrounds fixes.

Swift 4.1

Choose a tag to compare

@staguer staguer released this 07 Aug 06:16
dc2ff66

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.

Continue filling out the Objective-C API

Choose a tag to compare

@staguer staguer released this 01 Aug 07:48
8.0.3

Version bump to 8.0.3

A few more APIs exposed for Objective C

Choose a tag to compare

@staguer staguer released this 18 Jul 04:00

Exposing a few more APIs to Objective-C that previously were available to Swift only.

  • UserInterfaceLayoutDirection parameter added to LOKLayoutArrangement makeViews method
  • on LOKBaseLayout making needsView and configure open for overriding
  • adding horizontallyHighlyFlexible to LOKFlexibility

Added inits to ObjC builders

Choose a tag to compare

@drumnkyle drumnkyle released this 12 Jun 23:17

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.

No Swift Changes; ObjC Builders Breaking Changes

Choose a tag to compare

@drumnkyle drumnkyle released this 06 Jun 22:56

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.

Objective C wrappers with chain-able syntax support

Choose a tag to compare

@staguer staguer released this 23 Apr 23:12
bb2ea01

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 builder classes for the Objective-C API.

Choose a tag to compare

@staguer staguer released this 13 Mar 21:28
53b5f26
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`.