This repository was archived by the owner on Dec 11, 2025. It is now read-only.
v71.0.0
71.0.0
In this release we fixed some NavigationDrawer/BottomDrawer bugs and started using the theming extensions. This includes using categories on the components and a global container scheme.
Breaking changes
- MDCColorScheming has added the copy attribute to its properties.
- MDCTypographyScheming has added the copy attribute to its properties.
- MDCFloatingButtonThemer changes its mapping to use a title color #5912
New features
Button theming
textButton.applyTextTheme(withScheme: MDCContainerScheme())
ButtonBar theming
var scheme: MDCContainerScheming {
let scheme = MDCContainerScheme()
scheme.colorScheme = colorScheme
scheme.typographyScheme = typographyScheme
return scheme
}
...
buttonBar.applyPrimaryTheme(withScheme: scheme)
Dialogs usage example
NSString *titleString = @"Reset Settings?";
NSString *messageString = @"This will reset your device to its default factory settings.";
MDCAlertController *alert = [MDCAlertController alertControllerWithTitle:titleString
message:messageString];
alert.mdc_adjustsFontForContentSizeCategory = YES;
MDCActionHandler handler = ^(MDCAlertAction *action) {
NSLog(@"action pressed: %@", action.title);
};
MDCAlertAction *agreeAaction = [MDCAlertAction actionWithTitle:@"Cancel"
emphasis:MDCActionEmphasisLow
handler:handler];
[alert addAction:agreeAaction];
MDCAlertAction *disagreeAaction = [MDCAlertAction actionWithTitle:@"Accept"
emphasis:MDCActionEmphasisLow
handler:handler];
[alert addAction:disagreeAaction];
[MDCAlertControllerThemer applyScheme:self.alertScheme toAlertController:alert];
[self presentViewController:alert animated:YES completion:NULL];
Component changes
Buttons
MDCFloatingButtonThemer changes its mapping to use a title color #5912
Banner
An MVP view with layout was added to examples.
Container scheme
We have created a global container scheme to hold all subsystems schemes. We have started to move our theming APIs into class extensions/catgories. These are the components that have landed some of these changes:
- ButtonBar
- Button
Changes
ActionSheet
- Rename example view controllers. (#5866) (Robert Moore)
ActivityIndicator
- Rename examples (#5867) (Robert Moore)
AnimationTiming
- Rename examples view controllers (#5868) (Robert Moore)
ButtonBar
- Add a Theming extension. (#5843) (featherless)
Buttons
- Add tests for backgroundColorForState: (#5916) (Robert Moore)
- Add themer for contained buttons with container scheme (#5849) (Cody Weaver)
- Floating Action Button Theming Extension (#5869) (Wenyu Zhang)
- Refactor button test (#5898) (Cody Weaver)
- added missing imports for Buttons_Theming (Randall Li)
- {WIP} [Buttons] Fix titleColorForState in Floating Button themer. (#5912) (Robert Moore)
Cards
- added missing imports for Buttons_Theming (Randall Li)
Dialogs
- New typical use example (#5809) (Galia Kaufman)
- Refactor Material Alert Controller Examples (#5838) (Galia Kaufman)
- Refactor low elevation example (#5862) (Galia Kaufman)
NavigationDrawer
- Fix jump when perferredContentSize changes (#5928) (Cody Weaver)
- Refactor test (#5910) (Cody Weaver)
- Remove bottom drawer container view as child upon dismissal (#5853) (Michael Cheung)
- add missing imports to MaterialNavigationDrawer+ColorThemer (Randall Li)
Snackbar
- Disable potentially flaky test (#5861) (rami-a)
- Updates the snackbar tests to use XCTestExpectation (#5864) (Yarden Eitan)
schemes/Color
- Make MDCColorScheme conform to NSCopying (#5881) (Wenyu Zhang)
schemes/Typography
- make MDCTypography conform to NSCopying (#5890) (Wenyu Zhang)
Multi-component changes
- Add button theming category method for outlined theming (#5878) (Andrew Overton)
- Add imports for MaterialContainerScheme (Randall Li)
- Add text button themer (#5885) (Galia Kaufman)
- Bumped version number to 72.0.0. (Randall Li)
- Revert "Snapshot Testing Proof of Concept" (#5883) (Robert Moore)
- Snapshot Testing Proof of Concept (#5754) (rami-a)
- Snapshot Testing Proof of Concept (#5887) (rami-a)