Releases: material-components/material-components-ios
v100.1.0
In this minor release we addressed a bug in MDCSnackbar
where the Snackbar would not read the accessibilityHint
.
Component changes
Snackbar
v100.0.1
In this patch release we addressed a bug in MDCSnackbar
where the Snackbar would not clipToBounds
if the legacy behavior was enabled.
Component changes
Snackbar
- clipToBounds for legacy Snackbar (#9386) (Yarden Eitan)
v100.0.0
100.0.0
In this major release we made a breaking change improvement to Ink’s inkColor
API. As well as improvements including customization Dialogs presentation animation,
Flexible Header behavior around safe area. Also, we addressed bugs in Snackbar and TextFields.
Breaking changes
The inkColor
in MDCInkView
is now null_resettable
.
New features
Dialogs
We added the ability to customize MDCAlertController presentation animation.
let alertController = MDCAlertController()
alertController.presentationOpacityAnimationDuration = 0.5
alertController.presentationScaleAnimationDuration = 0.25
alertController.presentationInitialScaleFactor = 0.7
MDCAlertController *alertController = [[MDCAlertController alloc] init];
alertController.presentationOpacityAnimationDuration = 0.5;
alertController.presentationScaleAnimationDuration = 0.25;
alertController.presentationInitialScaleFactor = 0.7;
FlexibleHeader
We added a new runtime flag permitInferringTopSafeAreaFromTopLayoutGuideViewController
to address a crash that was occurring in certain configurations.
When disabled, if both inferTopSafeAreaInsetFromViewController and topLayoutGuideAdjustmentEnabled are set to YES, and the view controller selected to extract the safe area inset from (either automatically or via the delegate) is the same as topLayoutGuideViewController, the app will crash.
When enabled, the app will not crash in the situation described above. This is only supported on iOS 11+.
Enable this property before setting inferTopSafeAreaInsetFromViewController or topLayoutGuideViewController.
let flexibleHeader = MDCFlexibleHeaderViewController()
flexibleHeader.permitInferringTopSafeAreaFromTopLayoutGuideViewController = true
MDCFlexibleHeaderViewController *flexibleHeader = [[MDCFlexibleHeaderViewController alloc] init];
flexibleHeader.permitInferringTopSafeAreaFromTopLayoutGuideViewController = YES;
API changes
Dialogs
new property: presentationOpacityAnimationDuration
in MDCAlertController
.
new property: presentationScaleAnimationDuration
in MDCAlertController
.
new property: presentationInitialScaleFactor
in MDCAlertController
.
FlexibleHeader
new property: permitInferringTopSafeAreaFromTopLayoutGuideViewController
in MDCFlexibleHeaderViewController
.
Ink
modified property: inkColor
in MDCInkView
to be null_resettable
.
Component changes
ActionSheet
- Standardize the examples. (#9334) (featherless)
Banner
- Update README.md (#9292) (Radek)
Dialogs
- Add
const
keyword to CGFloat and UIEdgeInsets constants in MDCDialogPresentationController. (#9325) (Randall Li) - Expose MDCAlertController presentation animation properties (#9314) (Bryan Oltman)
FlexibleHeader
- Add new flag to allow use of inferTopSafeAreaInsetFromViewController with topLayoutGuideAdjustmentEnabled (#9323) (featherless)
- Clean up unsupported situation when inferring the top safe area inset (#9317) (featherless)
Ink
- Update ink color to be null resettable. (#9253) (Yarden Eitan)
Snackbar
- Add snapshot test showing reported shadow bug (#9309) (Yarden Eitan)
- Resolve truncation of shadow in Snackbars (#9315) (Yarden Eitan)
Tabs
- Remove out of date color theming docs (#9330) (Andrew Overton)
TextControls
- Add swift storyboard example (#9328) (Andrew Overton)
TextFields
- Ensures that constraints used for the trailing view are properly removed when a new trailing view is set (#9336) (Andrew Overton)
- Removes requirement that the textView delegate be set when informing layout delegate of a size change (#9337) (Andrew Overton)
Multi-component changes
v99.0.2
v99.0.1
v99.0.0
In this major release we deleted and deprecated numerous APIs in ButtonBar, FeatureHighlight, List,
Tabs, TextFields and Flexible Header. We fixed layout issues in Dialogs and BottomAppBar, and added
support for non-transient Snackbars.
New features
Snackbar
We added an opt-in flag to ignore the default timeout and allow Snackbars to persist until an action
is made upon it:
let snackBarMessage = MDCSnackbarMessage(text: "Message text")
snackBarMessage.automaticallyDismisses = false
MDCSnackbarMessage *snackBarMessage = [MDCSnackbarMessage messageWithText:@"Message text"];
snackBarMessage.automaticallyDismisses = NO;
New deprecations
ButtonBar
- Revert "Revert "Delete MDCButtonBarColorThemer (#9235)"" (#9272) (Andrew Overton)
FeatureHighlight
- Delete MDCFeatureHighlightTypographyThemer (#9273) (Andrew Overton)
List
- Fix typo in doc (#9301) (Galia Kaufman)
- Remove MDCListColorThemer (#9188) (Galia Kaufman)
- Remove MDCListTypographyThemer (#9190) (Galia Kaufman)
Tabs
- Revert "revert of commit ca2f2ad64046b4a2583abbe7cb705e42ed5f0ae7" (#9271 - [Tabs] Delete MDCTabBarColorThemer) (Andrew Overton)
TextFields
- Delete MDCOutlinedTextFieldColorThemer (#9274) (Andrew Overton)
Multi-component changes
- Deprecate MDCFlexibleHeaderColorThemer (#9281) (Bryan Oltman)
- Remove uses of MDCFlexibleHeaderColorThemer (#9282) (Bryan Oltman)
Component changes
BottomAppBar
- Add intrinsicContentSize (#9290) (Bryan Oltman)
- Add snapshot test to verify autolayout bug (#9289) (Bryan Oltman)
Cards
Chips
- Fix documentation error for Theming section (#9294) (Will Ernest)
Dialogs
List
- Fix typo in doc (#9301) (Galia Kaufman)
- Removing Themers from documentation (#9296) (Galia Kaufman)
Snackbar
- Allow Snackbars to be non-transient if needed. (#9299) (Yarden Eitan)
v98.0.0
98.0.0
In this major release we deleted and deprecated numerous APIs in ActionSheet, BottomNavigation,
Cards, List.
Fix issue with unbounded ink. NavigationDrawer now allows its trackingScrollView to be resettable.
Breaking changes
ActionSheet
Delete inkColor and enableRippleBehavior from MDCActionSheetItemTableViewCell
BottomNavigation
Delete MDCBottomNavigationBarTypographyThemer
New deprecations
List
Deprecate MDCListColorThemer
Deprecate MDCListTypographyThemer
API changes
BottomNavigation
removed class: MDCBottomNavigationBarTypographyThemer
. Please use the Theming extension instead.
List
deprecated class: MDCListColorThemer
. Please use MaterialList+Theming instead.
deprecated class: MDCListTypographyThemer
. Please use MDCSelfSizingStereoCell+MaterialTheming instead. (Note: Typography theming is no longer available as an independent API.)
Component changes
ActionSheet
- Delete inkColor and enableRippleBehavior from MDCActionSheetItemTableViewCell (#9240) (Bryan Oltman)
Banner
BottomNavigation
- Use NotoNastaliq for Arabic/RTL tests. (#9260) (Robert Moore)
- delete-MDCBottomNavigationBarTypographyThemer (#9234) (Andrew Overton)
Cards
- Remove references to Themer from README (#9261) (Bryan Oltman)
Ink
- Fix issue with unbounded ink (#9254) (Andrew Overton)
List
- Deprecaet MDCListColorThemer (#9265) (Galia Kaufman)
- Deprecate MDCListTypographyThemer (#9269) (Galia Kaufman)
- Remove usage of MDCListTypographyThemer within our library (#9189) (Galia Kaufman)
NavigationDrawer
- Resolve runtime warning from example in iOS… (#9251) (Yarden Eitan)
- allow trackingScrollView to be resettable (#9206) (Yarden Eitan)
Tabs
- removed build file dep that was deleted but the colorThemer revert accidentally readd it (#9278) (Randall Li)
Multi-component changes
- Add Swift example for MDCTabBarView (#9246) (Bryan Oltman)
v97.0.1
v97.0.0
97.0.0
In this major release we deleted and deprecated numerous APIs in ActionSheet, BottomNavigation,
ButtonBar, Cards, Feature highlight, Ink, Page control, Snackbar, TextField, and Tabs. We also
fixed Chip padding for Material theming.
Breaking changes
ActionSheet
Delete inkColor and enableRippleBehavior properties.
BottomNavigation
Delete MDCBottomNavigationBarColorThemer
Cards
Delete MDCCardsColorThemer
Delete MDCCardsShapeThemer
FeatureHighlight
Delete MDCFeatureHighlightFontThemer
Ink
Delete MDCInkColorThemer
List
Delete MDCListThemer
PageControl
Delete MDCPageControlColorThemer
ProgressView
Delete MDCProgressViewColorThemer
Snackbar
Delete MDCSnackbarColorThemer
Tabs
Delete MDCTabBarFontThemer
TextFields
Delete MDCTextFieldFontThemer
New deprecations
Buttons
Deprecate MDCButtonColorThemer
Deprecate MDCFloatingActionButtonThemer
Deprecate MDCTextButtonThemer
Deprecating MDCButtonScheme
Deprecating MDCButtonShapeThemer
Deprecating MDCButtonTypographyThemer
Deprecating MDCContainedButtonThemer
Deprecating MDCOutlinedButtonThemer
Cards
Delete Themer classes
FeatureHighlight
Deprecate MDCFeatureHighlightTypographyThemer
NavigationDrawer
Deprecate MDCBottomDrawerColorTHemer
TextFields
Deprecate MDCTextFieldTypographyThemer
Deprecate MDCOutlinedTextFieldColorThemer
API changes
ActionSheet
removed property: inkColor
in MDCActionSheetController
. Use rippleColor instead.
removed property: enableRippleBehavior
in MDCActionSheetController
. Use ripple.
Navigation Bar
removed class: MDCBottomNavigationBarColorThemer. Use MaterialBottomNavigation+Theming instead.
Buttons
deprecated protocol: MDCButtonScheming
. Please use MDCContainerScheming.
deprecated class: MDCButtonScheme
. Please use MDCContainerScheming.
deprecated class: MDCContainedButtonThemer
. Please use MDCButton:applyContainedThemeWithScheme: instead.
deprecated class: MDCFloatingActionButtonThemer
. Please use [MDCFloatingButton applySecondaryThemeWithScheme:] instead.
deprecated class: MDCOutlinedButtonThemer
. Please use MDCButton:applyOutlinedThemeWithScheme: instead.
deprecated class: MDCTextButtonThemer
. Please use MDCButton:applyTextThemeWithScheme: instead.
deprecated class: MDCButtonColorThemer
. Please use the MDCButton+MaterialTheming API instead.
deprecated class: MDCButtonShapeThemer
. Please use MDCButton+MaterialTheming instead. (Note: Shape theming is no longer available as an independent API.).
deprecated class: MDCButtonTypographyThemer
. Please use MDCButton+MaterialTheming instead. (Note: Typography theming is no longer available as an independent API.).
Cards
removed protocol: MDCCardScheming
. MDCCardScheming was made obsolete by theming with MDCContainerSchemes.
removed class: MDCCardScheme
. MDCCardScheming was made obsolete by theming with MDCContainerSchemes.
removed class: MDCCardThemer
. Please use MaterialCards+Theming instead.
removed class: MDCCardsColorThemer
. Please use MaterialCards+Theming instead.
removed class: MDCCardsShapeThemer
. Please use MaterialCards+Theming instead.
FeatureHighlight
removed class: MDCFeatureHighlightFontThemer
. No replacement exists. Please comment on https://github.com/material-components/material-components-ios/issues/7172 in order to indicate interest in a replacement API.
deprecated class: MDCFeatureHighlightTypographyThemer
. No replacement exists. Please comment on https://github.com/material-components/material-components-ios/issues/7172 in order to indicate interest in a replacement API.
Ink
removed class: MDCInkColorThemer
. Please use Ripple instead.
List
removed class: MDCListScheming
. Please use MDCContainerScheme APIs.
removed class: MDCListScheme
. Please use MDCContainerScheme APIs.
removed class: MDCListThemer
. Please use MDCContainerScheme APIs.
BottomDrawer
deprecated class: MDCBottomDrawerColorThemer
. No replacement exists. Please comment on https://github.com/material-components/material-components-ios/issues/7172 in order to indicate interest in a replacement API.
Page Control
removed class: MDCPageControlColorThemer
. No replacement exists. Please comment on https://github.com/material-components/material-components-ios/issues/7172 in order to indicate interest in a replacement API.
ProgressView
removed class: MDCProgressViewColorThemer
. No replacement exists. Please comment on https://github.com/material-components/material-components-ios/issues/7172 in order to indicate interest in a replacement API.
Snackbar
removed class: MDCSnackbarColorThemer
. Please use the Theming extension instead.
Tab Bar
removed class: MDCTabBarFontThemer. Please use the theming extension instead.
TextField
deprecated class: MDCOutlinedTextFieldColorThemer
. Please use the Theming extension on MDCTextInputControllerOutlined instead.
removed class: MDCTextFieldFontThemer
. Please use the Theming extension, or MDCTextControls and their theming extensions instead.
deprecated class: MDCTextFieldTypographyThemer
. Please use MDCTextInputControllerFilled+MaterialTheming.h or MDCTextInputControllerOutlined+MaterialTheming.h instead.
Thumb Track
removed property: thumbMaxRippleRadius
in MDCThumbTrack
. Opt-in to Ripple by setting enableRippleBehavior to YES, and then use thumbRippleMaximumRadius instead. Learn more at https://github.com/material-components/material-components-ios/tree/develop/components/Ink#migration-guide-ink-to-ripple
Component changes
Changes
ActionSheet
- Delete inkColor and enableRippleBehavior properties (#9238) (Bryan Oltman)
- Remove equality check when setting rippleColor to prevent crashes stemming from CIColor (#9237) (Bryan Oltman)
Banner
- Fix height when no action button shows. (#9218) (Wenyu Zhang)
BottomNavigation
- Delete MDCBottomNavigationBarColorThemer (#9198) (Bryan Oltman)
Buttons
- Deprecate MDCButtonColorThemer (#9179) (Galia Kaufman)
- Deprecate MDCFloatingActionButtonThemer (#9183) (Galia Kaufman)
- Deprecate MDCTextButtonThemer (#9182) (Galia Kaufman)
- Deprecating MDCButtonScheme (#9186) (Galia Kaufman)
- Deprecating MDCButtonShapeThemer (#9184) (Galia Kaufman)
- Deprecating MDCButtonTypographyThemer (#9185) (Galia Kaufman)
- Deprecating MDCContainedButtonThemer (#9180) (Galia Kaufman)
- Deprecating MDCOutlinedButtonThemer (#9181) (Galia Kaufman)
Chips
- Fix padding for Material theming. (#9193) (Robert Moore)
Dialogs
- Limit Action Button width (#9143) (Bambara@)
FeatureHighlight
- Delete MDCFeatureHighlightFontThemer (#9230) (Andrew Overton)
- Deprecate MDCFeatureHighlightTypographyThemer (#9225) (Andrew Overton)
- Don't use MDCFeatureHighlightTypographyThemer in examples (#9224) (Andrew Overton)
Ink
- Remove MDCInkColorThemer (#9228) (Andrew Overton)
List
- Removing MDCListThemer (#9187) (Galia Kaufman)
NavigationDrawer
- Deprecate MDCBottomDrawerColorTHemer (#9205) (Andrew Overton)
- Don't use MDCBottomDrawerColorThemer (#9204) (Andrew Overton)
PageControl
v96.0.0
96.0.0
In this major release we deleted and deprecated a bunch of APIs in BottomAppBar, Snackbar,
TextField, ActionSheet, BottomNavigation, ButtonBar, Cards, Feature highlight, Ink, Page control,
and Tabs. We also enables ripple by default on Action Sheet. It was using a legacy ink animation.
Breaking changes
BottomAppBar
Delete deprecated MDCBottomAppBarColorThemer
Snackbar
Delete snackbarMessageViewTextColor
TextField
Delete MDCTextFieldColorThemer
New deprecations
ActionSheet
Deprecated inkColor. Use the ripple APIs.
BottomNavigation
Deprecate MDCBottomNavigationTypography themer
ButtonBar
Deprecate MDCButtonBarColorThemer
Button
Deprecate MDCFloatingButtonShapeThemer
Cards
Deprecate MDCCardThemer
Feature highlight
Deprecate MDCFeatureHighlightFontThemer
Ink
Deprecate MDCInkColorThemer
Page Control
Deprecate-MDCPageControlColorThemer-applyColorScheme-toPageContro
Snackbar
Deprecate MDCSnackbarColorThemer
Tabs
Deprecate MDCTabBarColorThemer
TextFields
Deprecate MDCTextFieldFontThemer
New features
Chips
ChipFieldShouldBeginEditing method to MDCChipFieldDelegate to control if editing is allowed.
- (BOOL)chipFieldShouldBeginEditing:(MDCChipField *)chipField {
return YES;
}
Snackbar
Adds elementToFocusOnDismiss to MDCSnackbarMessage so a client can specify a view to focus on after the snackbar message is dismissed.
snackBarMessage.elementToFocusOnDismiss = view;
API changes
ActionSheet
deprecated property: inkColor
in MDCActionSheetController
. Use rippleColor instead.
deprecated property: enableRippleBehavior
in MDCActionSheetController
. Use ripple.
BottomAppBar
deprecated class: MDCBottomAppBarColorThemer
. No replacement exists. Please comment on https://github.com/material-components/material-components-ios/issues/7172 in order to indicate interest in a replacement API.
BottomNavigationBar
deprecated class: MDCBottomNavigationBarTypographyThemer
. Please use the Theming extension instead.
ButtonBar
deprecated class: MDCButtonBarColorThemer
. ButtonBar is not intended to be themed as a standalone component. Please theme it via the AppBar component's Theming extension instead.
Button
deprecated class: MDCFloatingButtonShapeThemer
. Please use [MDCFloatingButton applySecondaryThemeWithScheme:] instead. (Note: Shape theming is no longer available as an independent API.
Cards
deprecated protocol: MDCCardScheming
. MDCCardScheming was made obsolete by theming with MDCContainerSchemes.
deprecated class: MDCCardScheme
. MDCCardScheming was made obsolete by theming with MDCContainerSchemes.
deprecated class: MDCCardThemer
. Please use MaterialCards+Theming instead.
ChipField
new method: -chipFieldShouldBeginEditing:
in MDCChipFieldDelegate
. Asks the delegate if editing should begin in the specified chip field.
FeatureHighlight
deprecated class: MDCFeatureHighlightFontThemer
. No replacement exists. Please comment on https://github.com/material-components/material-components-ios/issues/7172 in order to indicate interest in a replacement API.
Ink
deprecated class: MDCInkColorThemer
. Please use Ripple instead.
Page Control
deprecated class: MDCPageControlColorThemer
. No replacement exists. Please comment on https://github.com/material-components/material-components-ios/issues/7172 in order to indicate interest in a replacement API.
Snackbar
removed property: snackbarMessageViewTextColor
in MDCSnackbarMessageView
. Use messsageTextColor instead.
deprecated class: MDCSnackbarColorThemer
. No replacement exists. Please comment on https://github.com/material-components/material-components-ios/issues/7172 in order to indicate interest in a replacement API.
new property: elementToFocusOnDismiss
in MDCSnackbarMessage
. Element to focus on snackbar message dismiss. Focuses the first element on screen after dismiss by default. The focus will change to the element only if the focus is on the snackbar message.
Tabs
deprecated class: MDCTabBarColorThemer
. Please use the Theming extension instead.
Component changes
ActionSheet
- Action sheet enable ripple (#9135) (Bryan Oltman)
- Deprecate MDCActionSheetAction inkColor (#9127) (Bryan Oltman)
Banner
- Add a Swift example. (#9173) (Wenyu Zhang)
- Update Readme to document the latest APIs. (#9100) (Wenyu Zhang)
BottomNavigation
- Deprecate MDCBottomNavigationTypography themer and update docs (#9156) (Andrew Overton)
- Migrate MDCBottomNavigationBarColorThemer use to theming extension (#9142) (Bryan Oltman)
ButtonBar
- Deprecate MDCButtonBarColorThemer (#9155) (Andrew Overton)
Buttons
- Deprecate MDCFloatingButtonShapeThemer (#9101) (Galia Kaufman)
- Removing deprecated MDCFloatingButtonShapeThemer from theming extension (#9102) (Galia Kaufman)
Cards
- Delete old docs (#9163) (Andrew Overton)
- Deprecate MDCCardThemer (#9054) (Andrew Overton)
- Deprecate MDCCardThemer (#9108) (Bryan Oltman)
- Migrate MDCCardsColorThemer to theming extensions (#9141) (Bryan Oltman)
Chips
- Add RTL snapshot tests. (#9131) (Robert Moore)
- Add chipFieldShouldBeginEditing method to MDCChipFieldDelegate (#9157) (Bryan Oltman)
- Fix calculation of accessory frame. (#9167) (Robert Moore)
- Remove Themer references from README (#9149) (Bryan Oltman)
Dialogs
- Snapshot tests for long action titles. (#9154) (Robert Moore)
FeatureHighlight
- deprecate MDCFeatureHighlightFontThemer (#9115) (Andrew Overton)
Ink
- Deprecate MDCInkColorThemer (#9113) (Andrew Overton)
List
PageControl
- Update read me for MDCPageControlColorThemer (#9153) (Andrew Overton)
- deprecate-MDCPageControlColorThemer-applyColorScheme-toPageControl (#9123) (Andrew Overton)
Snackbar
- Adds elementToFocusOnDismiss to MDCSnackbar (#9148) (Yarden Eitan)
- Deprecate MDCSnackbarColorThemer (#9152) (Andrew Overton)
- delete snackbarMessageViewTextColor (#9056) (Andrew Overton)
Tabs
- Deprecate MDCTabBarColorThemer (#9103) (Andrew Overton)
- Disable Ripple while scrolling TabBarView (#9144) (Robert Moore)
- Document
MDCTabBarViewLayoutStyle
(#9132) (Robert Moore)
TextFields
- [Delete MDCTextFieldColorThemer (#9109)](h...