LayoutKit is a fast view layout library for iOS, macOS, and tvOS.
Some fixes for the Objective-C wrappers:
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.
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.)
Support for Swift 3.1.
LayoutAdapter's dispatch queue is now public.
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)
This release contains some new features and backward incompatible changes.
Features
Backward incompatible changes
LabelLayoutTextType
renamed to Text
now that it is shared with ButtonLayout.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.Behavior changes
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.
StackView
now has a removeArrangedSubviews()
method (@dgattey #61)
Fix issue with generic parameter in InsetLayout's config block (@pgherveou #53)
Migrate to Swift 3 (#49)