Skip to content

Releases: material-components/material-components-ios

v56.0.0

27 Jun 12:15
Compare
Choose a tag to compare

56.0.0

In this release we updated the icon layout of MDCTextFields add accessibilty docs for MDCButton
and some more MDCBottomNavigation examples. We also tweeked the MDCChipView and MDCButtonBar
buttons.

Breaking changes

New layout for MDCTextField's with icons

API changes

TextFields

MDCLeadingViewTextInput

new protocol: MDCLeadingViewTextInput

new property: leadingView in MDCLeadingViewTextInput

new property: leadingViewMode in MDCLeadingViewTextInput

MDCTextInputPositioningDelegate

new method: -leadingViewTrailingPaddingConstant in MDCTextInputPositioningDelegate

new method: -leadingViewRectForBounds:defaultRect: in MDCTextInputPositioningDelegate

new method: -trailingViewTrailingPaddingConstant in MDCTextInputPositioningDelegate

new method: -trailingViewRectForBounds:defaultRect: in MDCTextInputPositioningDelegate

MDCTextField

modified class: MDCTextField

Type of change: Swift declaration
From: class MDCTextField : MDCTextInput
To: class MDCTextField : MDCTextInput, MDCLeadingViewTextInput

modified class: MDCTextField

Type of change: Declaration
From: @interface MDCTextField : UITextField <MDCTextInput>
To: @interface MDCTextField : UITextField <MDCTextInput, MDCLeadingViewTextInput>

Component changes

Buttons

Changes

ButtonBar

Changes

TextFields

Changes

Chips

Changes

BottomNavigation

Changes

v55.5.0

21 Jun 16:18
Compare
Choose a tag to compare

v55.4.0

08 Jun 15:56
Compare
Choose a tag to compare

This minor release includes better layout guide and safe area insets support to MDCAppBar's MDCAppBarContainerViewController, added customization to MDCNavigationBar title view layout, accessibility improvements and documentation.

New deprecations

MDCNavigationBar's property useFlexibleTopBottomInsets has been defaulted to YES and has now been deprecated. It will eventually be removed and become the default behavior.

New features

AppBar now allows its wrapped content view controllers to make proper use of the top layout guide and additional safe area insets APIs. This is done using the newly added property to AppBar's MDCAppBarContainerViewController named topLayoutGuideAdjustmentEnabled.
An example on how to implement this behavior:

MDCAppBarContainerViewController *appBarContainerViewController;
UITableViewController *tableViewController =
    [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
appBarContainerViewController =
    [[MDCAppBarContainerViewController alloc] initWithContentViewController:tableViewController];
self.appBarContainerViewController.topLayoutGuideAdjustmentEnabled = YES;

NavigationBar now allows configuration of its title view layout behavior to be either "fill" or "center". The fill behavior is the default and existing behavior, which sets the title view's frame to fill the available navigation bar space. The center behavior will always attempt to center the title view within the navigation bar's bounds.
The center behavior is desired by teams in the simple cases of when they want their title view to be centered within the navigation bar as best as possible. This is also the default behavior of UINavigationBar.
Example usage:

MDCNavigationBar *navBar = [[MDCNavigationBar alloc] init];
navBar.titleView = [[UIView alloc] init];
navBar.titleViewLayoutBehavior = MDCNavigationBarTitleViewLayoutBehaviorCenter;

API changes

AppBar

MDCAppBarContainerViewController

new property: topLayoutGuideAdjustmentEnabled in MDCAppBarContainerViewController

NavigationBar

MDCNavigationBar

new property: titleViewLayoutBehavior in MDCNavigationBar

deprecated property: useFlexibleTopBottomInsets in MDCNavigationBar

Type of change: Deprecation message
From: useFlexibleTopBottomInsets
To: Implement proper vertical alignment with the default YES behavior.

new enum MDCNavigationBarTitleViewLayoutBehavior with values MDCNavigationBarTitleViewLayoutBehaviorFill and MDCNavigationBarTitleViewLayoutBehaviorCenter.

Component changes

AppBar

Changes

Buttons

Changes

TextFields

Changes

Snackbar

Changes

Slider

Changes

NavigationBar

Changes

BottomSheet

Changes

Typography

Changes

PageControl

Changes

Collections

Changes

HeaderStackView

Changes

FlexibleHeader

Changes

v55.3.0

30 May 17:51
Compare
Choose a tag to compare

This minor release includes added customization to MDCDialogPresentationController, better topLayoutGuide support for MDCFlexibleHeader, doc improvements and other small bug fixes.

New features

Flexible header has a new behavioral flag for opting in to better topLayoutGuide support. This is primarily useful when using the flexible header container view controller. To opt in to this new behavior, do the following:

let container = MDCFlexibleHeaderContainerViewController()
container.isTopLayoutGuideAdjustmentEnabled = true

Dialogs now offer customizable cornerRadius support to enable proper shadowing. You can set the dialog corner radius like so:

// We set the corner radius to adjust the shadow that is implemented via the trackingView in the
// presentation controller.
if let presentationController = presentedController.mdc_dialogPresentationController {
  presentationController.dialogCornerRadius = presentedController.view.layer.cornerRadius
}

API changes

Dialogs

MDCDialogPresentationController

new property: dialogCornerRadius in MDCDialogPresentationController

FlexibleHeader

MDCFlexibleHeaderContainerViewController

new property: topLayoutGuideAdjustmentEnabled in MDCFlexibleHeaderContainerViewController

MDCFlexibleHeaderViewController(ToBeDeprecated)

new category: MDCFlexibleHeaderViewController(ToBeDeprecated)

moved method: -updateTopLayoutGuide from class MDCFlexibleHeaderViewController to category MDCFlexibleHeaderViewController(ToBeDeprecated)

MDCFlexibleHeaderViewController

new property: topLayoutGuideAdjustmentEnabled in MDCFlexibleHeaderViewController

new property: topLayoutGuideViewController in MDCFlexibleHeaderViewController

Component changes

Tabs

Changes

FeatureHighlight

Changes

AppBar

Changes

Buttons

Changes

ButtonBar

Changes

TextFields

Changes

Chips

Changes

Snackbar

Changes

Cards

Changes

BottomAppBar

Changes

Slider

Changes

NavigationBar

Changes

ActivityIndicator

Changes

BottomSheet

Changes

Dialogs

Changes

BottomNavigation

Changes

PageControl

Changes

FlexibleHeader

Changes

ProgressView

Changes

v55.2.0

23 May 17:56
Compare
Choose a tag to compare

This minor release includes new Snackbar features and minor improvements to the Catalog.

New features

Snackbar now allows you to change the snackbar message alignment on iPad. For example:

MDCSnackbarManager.alignment = MDCSnackbarAlignmentLeading;

Snackbar also exposes a delegate for theming snackbar messages.

MDCSnackbarManager.delegate = appDelegate;

- (void)willPresentSnackbarWithMessageView:(nullable MDCSnackbarMessageView *)messageView {
  // You can theme the individual messageView.actionButtons here.
}

There is a new shadow elevation constant, MDCShadowElevationBottomNavigationBar.

API changes

ShadowElevations

MDCShadowElevationBottomNavigationBar

new constant: MDCShadowElevationBottomNavigationBar

Snackbar

MDCSnackbarAlignment

new enum value: MDCSnackbarAlignmentCenter in MDCSnackbarAlignment

new enum value: MDCSnackbarAlignmentLeading in MDCSnackbarAlignment

new enum: MDCSnackbarAlignment

MDCSnackbarMessageView

new property: actionButtons in MDCSnackbarMessageView

MDCSnackbarManager

new property: delegate in MDCSnackbarManager

new property: alignment in MDCSnackbarManager

MDCSnackbarManagerDelegate

new protocol: MDCSnackbarManagerDelegate

new method: -willPresentSnackbarWithMessageView: in MDCSnackbarManagerDelegate

Component changes

Tabs

Changes

schemes/Typography

Changes

FeatureHighlight

Changes

AppBar

Changes

Buttons

Changes

ButtonBar

Changes

TextFields

Changes

Chips

Changes

Snackbar

Changes

Slider

Changes

NavigationBar

Changes

ActivityIndicator

Changes

Typography

Changes

Dialogs

Changes

BottomNavigation

Changes

FlexibleHeader

Changes

ShadowElevations

Changes

v55.1.0

18 May 19:08
Compare
Choose a tag to compare

This minor release introduces some new features to Snackbar and includes some bug fixes in the Catalog app.

API changes

Snackbar

MDCSnackbarManager

new class method: +hasMessagesShowingOrQueued in MDCSnackbarManager

Component changes

Tabs

Changes

schemes/Color

Changes

schemes/Typography

Changes

FeatureHighlight

Changes

Buttons

Changes

Snackbar

Changes

Cards

Changes

BottomAppBar

Changes

Dialogs

Changes

Themes

Changes

ShadowElevations

Changes

v55.0.4

04 May 23:48
Compare
Choose a tag to compare

This patch release adds metadata to the bidirectionality eng stub doc.

v55.0.3

04 May 22:56
Compare
Choose a tag to compare

This patch release adds documentation polish around bidirectionality.

v55.0.2

31 May 12:10
Compare
Choose a tag to compare

This patch release includes more documentation polish and a bug fix for Cards theming.

Component changes

Tabs

Changes

schemes/Color

Changes

schemes/Typography

Changes

FeatureHighlight

Changes

Ink

Changes

Buttons

Changes

ButtonBar

Changes

TextFields

Changes

Chips

Changes

Snackbar

Changes

Cards

Changes

BottomAppBar

Changes

Slider

Changes

LibraryInfo

Changes

ShadowLayer

Changes

BottomSheet

Changes

Dialogs

Changes

PageControl

Changes

FlexibleHeader

Changes

ShadowElevations

Changes

ProgressView

Changes

Palettes

Changes

Component changes

Tabs

Changes

schemes/Color

Changes

schemes/Typography

Changes

FeatureHighlight

Changes

Ink

Changes

Buttons

Changes

ButtonBar

Changes

TextFields

Changes

Chips

Changes

Snackbar

Changes

Cards

Changes

BottomAppBar

Changes

Slider

Changes

LibraryInfo

Changes

ShadowLayer

Changes

BottomSheet

Changes

Dialogs

Changes

...

Read more

v55.0.1

03 May 22:11
Compare
Choose a tag to compare

This patch release polishes and fleshes out documentation across many of our components. There are
no source changes in this release.

Component changes

MaskedTransition

Changes

schemes/Color

Changes

schemes/Typography

Changes

FeatureHighlight

Changes

AppBar

Changes

CollectionCells

Changes

ButtonBar

Changes

TextFields

Changes

Cards

Changes

BottomAppBar

Changes

NavigationBar

Changes

OverlayWindow

Changes

ShadowLayer

Changes

ActivityIndicator

Changes

BottomSheet

Changes

BottomNavigation

Changes

PageControl

Changes

AnimationTiming

Changes

Collections

Changes

HeaderStackView

Changes

FlexibleHeader

Changes

ShadowElevations

Changes

ProgressView

Changes

CollectionLayoutAttributes

Changes