Skip to content

Releases: material-components/material-components-ios

v108.1.0

13 Apr 15:46
Compare
Choose a tag to compare

This minor release improves our support of the new iPadOS cursor APIs, deprecates a themer, and
adds the ability to animate a floating button's mode.

New deprecations

BottomSheet's ShapeThemer is now deprecated.

New features

Improved UIPointerInteraction support for ActionSheet, Buttons, and Dialogs.

MDCFloatingButton has a new animated API for animating the mode from normal to expanded.

[button setMode:MDCFloatingButtonModeExpanded animated:YES];

API changes

Component changes

ActionSheet

BottomSheet

Buttons

Dialogs

Ripple

TextControls

Multi-component changes

v108.0.0

07 Apr 15:08
Compare
Choose a tag to compare

This major release removes the default init methods from MDCSemanticColorScheme, improves support
for iOS 13.4's pointer effects on iPads, and includes various bugfixes.

Breaking changes

MDCSemanticColorScheme's init method is now unavailable. Please use initWithDefaults: instead.

Component changes

ActionSheet

AppBar

BottomNavigation

ButtonBar

Buttons

Dialogs

FlexibleHeader

NavigationDrawer

Tabs

schemes/Color

v107.4.0

23 Mar 20:25
Compare
Choose a tag to compare

This minor release includes improvements to Chips, Dialogs, HeaderStackView, ProgressView, NavigationBar, NavigationDrawer, and Tabs.

New deprecations

Dialogs

MDCAlertControllerView

  • titleAlignment, messageAlignment, and titleIconView properties have been deprecated.

API changes

MDCTabBarView

  • The previously private effectiveLayoutStyle is now publicly exposed as a readonly property.

Component changes

ActionSheet

ActivityIndicator

AppBar

BottomNavigation

BottomSheet

ButtonBar

Chips

Collections

Dialogs

FeatureHighlight

FlexibleHeader

HeaderStackView

Ink

NavigationBar

NavigationDrawer

ProgressView

Ripple

Slider

Snackbar

Tabs

Read more

v107.3.0

17 Mar 12:44
Compare
Choose a tag to compare

This minor release includes several new APIs and improvements to Dialogs, AppBar, and Slider.

New features

MDCAppBarViewController now provides an accessibilityPerformEscapeDelegate, which can be used to
customize the accessibilityPerformEscape behavior of the AppBar without subclassing.

class SomeDelegate: NSObject, MDCAppBarViewControllerAccessibilityPerformEscapeDelegate {
  func appBarViewControllerAccessibilityPerformEscape(_ appBarViewController: MDCAppBarViewController) -> Bool {
		// Perform custom escape handling
    return true
  }
}

appBarViewController.accessibilityPerformEscapeDelegate = delegate

MDCAlertController has a new messageAlignment API which can be used to adjust the alignment of the
message text:

alertController.messageAlignment = .right

MDCAlertController also now allow the order and alignment of actions to be customized with three new
APIs:

  • actionsHorizontalAlignment
  • actionsHorizontalAlignmentInVerticalLayout
  • orderVerticalActionsByEmphasis
alert.actionsHorizontalAlignment = .justified
alert.actionsHorizontalAlignmentInVerticalLayout = .justified
alert.orderVerticalActionsByEmphasis = true

MDCSlider now allows you to customize the appearance of the thumb track with the new
shouldDisplayThumbWithDiscreteValueLabel API. Turning this API on will keep the thumb track
visible while the user is interacting with the slider.

slider.shouldDisplayThumbWithDiscreteValueLabel = true

Component changes

AppBar

Dialogs

FlexibleHeader

Ink

Slider

v107.2.0

10 Mar 20:27
Compare
Choose a tag to compare

This minor release includes the introduction of a self-sizing mechanism to MDCBaseCell, a new layout style for MDCTabBarView, and numerous improvements and bug fixes for BottomSheet, Snackbar, Dialogs, Ink, and TextFields.

New features

List

Having the UICollectionViewLayoutAttributes you use with MDCBaseCell conform to MDCSelfSizingLayoutAttributes allows you to specify whether the height or the width should be fixed.

-(BOOL)isFixedWidth {
  return 100;
}

-(BOOL)isFixedHeight {
  return 100;
}
var isFixedWidth: Bool {
  return 100;
}

var isFixedHeight: Bool {
  return 100;
}

Tabs

Setting the preferredLayoutStyle property on MDCTabBarView to MDCTabBarViewLayoutStyleScrollableCentered allows you to have a scrolling tab bar that centers the selected tab.

tabBarView.preferredLayoutStyle = MDCTabBarViewLayoutStyleScrollableCentered;
tabBarView.preferredLayoutStyle = .scrollableCentered

Component changes

BottomSheet

Chips

Dialogs

Ink

List

Snackbar

Tabs

TextControls

TextFields

Multi-component changes

v107.1.0

03 Mar 17:45
Compare
Choose a tag to compare

107.1.0

This minor release we added support to Snackbar to inform users when it has disappeared. As well as, improvements around touch targets for Chips, alignment improvements to Dialogs and various other bug improvements.

New features

In this release we added a new method to the MDCSnackbarManagerDelegate protocol to inform users when the snackbar disappeared.

extension MyCustomViewController: MDCSnackbarManagerDelegate {
  func snackbarDidDisappear() {
    print("The snackbar disappeared I should act accordingly")
  }
}

Component changes

Chips

Dialogs

FlexibleHeader

Snackbar

v107.0.0

28 Feb 21:00
Compare
Choose a tag to compare

In this major release we deleted the deprecated MDCAlertScheme and MDCAlertControllerThemer classes.

Breaking changes

MDCAlertScheme and MDCAlertControllerThemer have been deleted. Please use the MDCAlertController (MaterialTheming) extension instead.

New features

In this release we added a new delegate property to MDCAlertController which exposes dialogs lifecycle events that are useful for impression logging. As well as various minor improvements to the Dialogs component and other bug fixes.

API changes

Dialogs

new property: delegate in MDCAlertController

new protocol: MDCAlertControllerDelegate

Component changes

BottomSheet

Chips

Dialogs

TextField

v106.0.0

26 Feb 18:56
Compare
Choose a tag to compare

106.0.0

In this major release we deleted the deprecated themer: MDCFloatingButtonShapeThemer.

Breaking changes

Deleted MDCFloatingButtonShapeThemer class, please use the theming extensions.
Learn more at https://github.com/material-components/material-components-ios/blob/develop/docs/theming.md#migration-guide-themers-to-theming-extensions

New features

In this release we added the MDCFilledTextArea and MDCOutlinedTextArea components, made improvements to our Dialogs component, and added other bug fixes.

API changes

BottomNavigation

new property: itemsHorizontalPadding in MDCBottomNavigationBar

TextControls

new property: label in MDCBaseTextArea

new property: labelBehavior in MDCBaseTextArea

new property: leadingAssistiveLabel in MDCBaseTextArea

new property: trailingAssistiveLabel in MDCBaseTextArea

new property: minimumNumberOfVisibleRows in MDCBaseTextArea

new property: maximumNumberOfVisibleRows in MDCBaseTextArea

new method: setFloatingLabelColor:forState: in MDCBaseTextArea

new method: floatingLabelColorForState in MDCBaseTextArea

new method: setNormalLabelColor:forState: in MDCBaseTextArea

new method: normalLabelColorForState: in MDCBaseTextArea

new method: setTextColor:forState: in MDCBaseTextArea

new method: textColorForState: in MDCBaseTextArea

new method: setLeadingAssistiveLabelColor:forState: in MDCBaseTextArea

new method: leadingAssistiveLabelColorForState: in MDCBaseTextArea

new method: setTrailingAssistiveLabelColor:forState: in MDCBaseTextArea

new method: trailingAssistiveLabelColorForState: in MDCBaseTextArea

new class: MDCFilledTextArea

new class: MDCOutlinedTextArea

Component changes

BottomAppBar

BottomNavigation

Buttons

ButtonBar

Collections

Dialogs

Ink

OverlayWindow

Shapes

TextControls

private/ThumbTrack

v105.0.2

20 Feb 11:14
Compare
Choose a tag to compare

This hotfix patch release fixes a crasher with ButtonBars when using custom item views and tint colors.

Component changes

ButtonBar

v105.0.1

19 Feb 22:23
Compare
Choose a tag to compare

This patch release addresses merge issues with the v105.0.0 release. It is intended to be equivalent to
v105.0.0.