LayoutKit Versions Save

LayoutKit is a fast view layout library for iOS, macOS, and tvOS.

7.0.1

6 years ago

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.

7.0.0

6 years ago

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 numberOfLines parameter.

6.0.0

6 years ago
  • Swift 4 Migration
  • Use max size for measuring overlay sublayouts
  • Incremental update is changed to use chunking
  • Fix StackLayout fillEqualSpacing distribution with spacing
  • Fixing async issue on completion callback for perform batch updates
  • Fix to make custom view for UITableViewHeaderFooterView in its contentView
  • Allow isSelectable to be overridden in TextViewLayout Configure

5.0.0

6 years ago

Added TextViewLayout and OverlayLayout.

Swift 3.1 and Xcode 8.3 support.

Open ReloadableViewLayoutAdapter for extension.

Open ReloadableView and BatchUpdates for extension.

BatchUpdates becomes a class. (BatchUpdates changing from struct to class is technically a breaking change, hence the major version increment.)

4.0.2

7 years ago

Support for Swift 3.1.

LayoutAdapter's dispatch queue is now public.

4.0.1

7 years ago

View recycling no longer removes views that it didn't create (#85 @inamiy)

It is now possible to override registerViews on ReloadableView to use custom UICollectionViewCell/UITableViewCell with ReloadableViewLayoutAdapter (#86)

4.0.0

7 years ago

This release contains some new features and backward incompatible changes.

Features

  • New ButtonLayout for UIButton. Please read the class documentation before using.
  • Layouts now support views whose initializers require arguments (i.e. UIButton).
  • BatchUpdates now supports reloading sections and items (thanks @RoCry).

Backward incompatible changes

  • LabelLayoutTextType renamed to Text now that it is shared with ButtonLayout.
  • LabelLayout initializer parameter textType renamed to text.
  • needsView was moved from ConfigurableLayout to Layout.
  • func makeView(from recycler: ViewRecycler) -> View? changed to func makeView() -> View. LayoutKit now handles view recycling internally and only calls makeView() if needsView is true.
  • ViewRecycler is no longer public (it doesn't need to be anymore).

Behavior changes

  • A non-nil viewReuseId no longer forces a Layout to generate a view. If you want to force a Layout to generate a view when it otherwise wouldn't, provide a configuration block (which may be empty).
  • Subview order is now deterministic and matches what you would expect.

Other LayoutKitExampleLayouts target renamed to ExampleLayouts so that it isn't inadvertently pulled in by Carthage. ExampleLayouts is for experimentation and not part of the supported or documented public API of LayoutKit.

3.1.0

7 years ago

StackView now has a removeArrangedSubviews() method (@dgattey #61)

3.0.1

7 years ago

Fix issue with generic parameter in InsetLayout's config block (@pgherveou #53)

3.0.0

7 years ago

Migrate to Swift 3 (#49)