MarkupKit 3.4 Released

MarkupKit 3.4 is now available for download and via Cocoapods. This release includes the following updates:

  • 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 layoutMarginLeading and layoutMarginTrailing properties 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.

  • Add LMTableViewHeaderFooterView class. 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 LMTableViewHeaderFooterView class for hosting custom section header and footer content.

  • Add support for custom string tables. In addition to bundleForStrings, LMViewBuilder will now also look for a tableForStrings method 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 bundleForStrings.

  • Add support for named colors in asset catalogs. In addition to UIColor constants 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.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s