- Add baseline spacing support to
LMColumnView. Arranged subviews can now be spaced vertically according to their baselines rather than their bounding rectangles. Additionally, system spacing can now be used in both row and column views in iOS 11 and later.
- Add support for directional layout margins. Callers can now define locale-aware layout margins using the
layoutMarginTrailingproperties MarkupKit adds to
UIView. In iOS 11 and later, these properties map directly to the view's
directionalLayoutMargins. In iOS 10 and earlier, the current text direction (left-to-right or right-to-left) is used to dynamically apply the values.
LMTableViewHeaderFooterViewclass. iOS 11 appears to resolve issues associated with self-sizing table view header/footer views. As a result, it is now possible to provide an
LMTableViewHeaderFooterViewclass for hosting custom section header and footer content.
Add support for custom string tables. In addition to
LMViewBuilderwill now also look for a
tableForStringsmethod on the document owner. This method can be used to customize the string table used to resolve localized string references, and can be used either with or without
Add support for named colors in asset catalogs. In addition to
UIColorconstants and color table values, named colors can now refer to color sets defined in asset catalogs in iOS 11 and later.
Drop support for bi-directional binding. Internally, MarkupKit bindings are implemented using key-value observing (KVO). While app-specific classes reliably support KVO, UIKit view types are not guaranteed to, which can cause confusion or lead to bugs. Allowing bindings from owner to view only eliminates ambiguity while still supporting the model view-view-model (MVVM) design pattern.
For more information, see the project README.