Releases: material-components/material-components-ios
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)
v70.1.0
This minor release introduces a new Alpha ContainerScheme type and several bug fixes.
New features
A new ContainerScheme type has been introduced that can be used to represent the complete collection
of Material Theming subsystem schemes. This new scheme type is an Alpha component at this point in
time and is not yet intended for general use.
API changes
ContainerScheme
New component.
Component changes
Changes
ActionSheet
- Action sheet safe area fix (#5769) (Colemalban)
Cards
- Have updates to MDCCardCollectionCell setState properly respect the animated flag. (#5780) (Yarden Eitan)
Dialogs
- Example: merged supplemental code into a single file: DialogsDismissingViewController (#5808) (Galia Kaufman)
- Move non-typical demo to Dragons. (#5829) (Robert Moore)
- renmaing typical use example (#5807) (Galia Kaufman)
NavigationDrawer
schemes/Container
- implement a container scheme (#5801) (Wenyu Zhang)
v70.0.0
This major change removes all property coding behavior from our components. It also includes
performance improvements for NavigationDrawer and a new API for adjusting its content offset.
PageControl now also supports RTL.
Breaking changes
Component properties are no longer encoded or decoded for any component.
New features
Improvements made to Navigation Drawer:
- Improvements to the Navigation Drawer's performance by removing unneeded calls to the
contentViewController's preferredContentSize. - A new API on
MDCBottomDrawerViewController:
setContentOffsetY:contentOffsetY:animated:
allowing to manually scroll the content to the desired offset. Setting the contentOffsetY to 0
will scroll the drawer to the top of the content.
MDCPageControl has a new respectsUserInterfaceLayoutDirection
property that, when enabled, causes
the page control to react to RTL layout.
API changes
Buttons
MDCFloatingButton
removed method: -initWithCoder:
in MDCFloatingButton
Collections
MDCCollectionViewEditing
new method: -updateReorderCellPosition
in MDCCollectionViewEditing
NavigationDrawer
MDCBottomDrawerViewController
new method: -setContentOffsetY:animated:
in MDCBottomDrawerViewController
MDCBottomDrawerPresentationController
new property: contentReachesFullscreen
in MDCBottomDrawerPresentationController
new method: -setContentOffsetY:animated:
in MDCBottomDrawerPresentationController
PageControl
MDCPageControl
new property: respectsUserInterfaceLayoutDirection
in MDCPageControl
Slider
MDCSlider
modified class: MDCSlider
Type of change: | Swift declaration |
---|---|
From: | class MDCSlider : UIControl, NSSecureCoding |
To: | class MDCSlider : UIControl |
modified class: MDCSlider
Type of change: | Declaration |
---|---|
From: | @interface MDCSlider : UIControl <NSSecureCoding> |
To: | @interface MDCSlider : UIControl |
ColorScheme
MDCTonalPalette
removed method: -initWithCoder:
in MDCTonalPalette
modified class: MDCTonalPalette
Type of change: | Swift declaration |
---|---|
From: | class MDCTonalPalette : NSObject, NSCopying, NSSecureCoding |
To: | class MDCTonalPalette : NSObject, NSCopying |
modified class: MDCTonalPalette
Type of change: | Declaration |
---|---|
From: | @interface MDCTonalPalette : NSObject <NSCopying, NSSecureCoding> |
To: | @interface MDCTonalPalette : NSObject <NSCopying> |
Component changes
Breaking changes
Buttons
- Breaking: Remove property coding support from MDCFloatingButton and MDCFlatButton. (#5787) (featherless)
Multi-component breaking changes
- Breaking: Remove remaining property coding. (#5792) (featherless)
Changes
BottomNavigation
BottomSheet
- Add a Dragon to demonstrate issue #5778 (#5779) (danblakemore)
Collections
- Adds ability to programmatically update the position of the reordering cell (#5560) (Felix Emiliano)
Dialogs
- Add an Alert width upper bound (#4914) (ianegordon)
NavigationDrawer
- API to allow content to scroll to top (#5776) (Yarden Eitan)
- Improve performance for heavy preferredContentSize calls (#5744) (Yarden Eitan)
- Position handle using NSLayoutConstraints (#5760) (Andrew Overton)
PageControl
- Add respectsUserInterfaceLayoutDirection to MDCPageControl (#5711) (Andrew Overton)
Tabs
Multi-component changes
- Fix cross-component imports. (#5786) (Robert Moore)
- Fix cross-component imports. (#5794) (Robert Moore)
- Revert "[Dialogs, Shape] Fix cross-component imports. (#5786)" (#5793) (Robert Moore)
v69.0.0
This major release introduces a breaking change with Snackbar's default style. It also includes
a new top handle and performance improvements for NavigationDrawer.
Breaking changes
usesLegacySnackbar
is now NO by default.
New features
MDCBottomNavigationBar has a new elevation
property.
NavigationDrawer has the following changes:
- Added support for content in the drawer that is dynamically sized. Updating the
preferredContentSize at any time will cause the drawer to respond appropriately. - Added a top handle that sits at the top of the drawer to show scrollability. It disappears
when the drawer goes to full screen or when there is no more to scroll. - Added a way to customize the color of the top handle.
- The drawer's header height expands as it goes to full screen to cover the safe area and status
bar. We now provide a delegate to allow clients to be aware of the relevant top content inset so
they lay out their header content appropriately based on height changes. - Implemented performance improvements by removing some calls to preferredContentSize of the
contentViewController within the drawer implementation.
API changes
AppBar+ColorThemer
MDCAppBarColorThemer(ToBeDeprecated)
modified class method: +applySurfaceVariantWithColorScheme:toAppBar:
in MDCAppBarColorThemer(ToBeDeprecated)
modified class method: +applySemanticColorScheme:toAppBar:
in MDCAppBarColorThemer(ToBeDeprecated)
AppBar+TypographyThemer
MDCAppBarTypographyThemer(ToBeDeprecated)
modified class method: +applyTypographyScheme:toAppBar:
in MDCAppBarTypographyThemer(ToBeDeprecated)
BottomNavigation
MDCBottomNavigationBar
new property: elevation
in MDCBottomNavigationBar
NavigationDrawer
MDCBottomDrawerViewControllerDelegate
new protocol: MDCBottomDrawerViewControllerDelegate
new method: -bottomDrawerControllerDidChangeTopInset:topInset:
in MDCBottomDrawerViewControllerDelegate
MDCBottomDrawerPresentationController
new property: topHandleHidden
in MDCBottomDrawerPresentationController
new property: topHandleColor
in MDCBottomDrawerPresentationController
MDCBottomDrawerViewController
new property: topHandleColor
in MDCBottomDrawerViewController
new property: delegate
in MDCBottomDrawerViewController
new property: topHandleHidden
in MDCBottomDrawerViewController
Component changes
ActionSheet
- Add example comparing Material and UIKit (#5724) (ianegordon)
- Try to fix MaterialComponentsAlpha (#5541) (Andrew Overton)
AppBar
- Annotate APIs that need to be deprecated. (#5614) (featherless)
BottomNavigation
- Add elevation property (#5733) (Cody Weaver)
- Minor code clean-up. (#5742) (Robert Moore)
NavigationDrawer
- Add dynamically sizing support for the drawer + performance improvements (#5587) (Yarden Eitan)
- Added Color API for the top handle. (#5592) (Yarden Eitan)
- Added a top handle to the drawer (#5591) (Yarden Eitan)
- Adding a top inset delegate for the drawer (#5674) (Yarden Eitan)
- added additional example with limited content that doesnt reach fullscreen (#5743) (Yarden Eitan)
- call getter instead (#5710) (Yarden Eitan)
Snackbar
- Fix for Snackbar themer breaking Snackbar examples on dragons (#5731) (Yarden Eitan)
- change snackbar to default to use the new snackbar and not legacy (#5732) (Yarden Eitan)
Multi-component changes
- [MDC Swift] Add guards for Swift 4.2+ (#5634) (Robert Moore)
- Global replace of integral single-precision literals with integer literals. (#5709) (Robert Moore)
- Global replace of single-precision floats with CGFloat casts. (#5718) (Robert Moore)
- No longer using
-init
for Color Scheme. (#5734) (Robert Moore) - fix typo UIConnect... -> UIContent... (#5735) (Ralph)
v68.2.0
In this minor release we have introduced an API for customizing the Navigation Drawer scrim color, an API for animating corner radius changes for MDCShadowLayer
, an MDCSnackbarManager
instance color themer, along with bug fixes and performance improvements.
New features
Navigation Drawer now supports customizing its scrim color as follows:
let bottomDrawerViewController = MDCBottomDrawerViewController()
// Set the drawer scrim color.
bottomDrawerViewController.scrimColor = UIColor.blue.withAlphaComponent(0.5)
bottomDrawerViewController.contentViewController = contentViewController
bottomDrawerViewController.headerViewController = headerViewController
MDCBottomDrawerColorThemer.applySemanticColorScheme(colorScheme,
toBottomDrawer: bottomDrawerViewController)
present(bottomDrawerViewController, animated: true, completion: nil)
MDCShadowLayer
now supports animating corner radius changes:
@interface CustomView : UIView
@end
@implementation CustomView
+ (Class)layerClass {
return [MDCShadowLayer class];
}
- (MDCShadowLayer *)shadowLayer {
return (MDCShadowLayer *)self.layer;
}
@end
CAMediaTimingFunction *timingFunction =
[CAMediaTimingFunction mdc_functionWithType:MDCAnimationTimingFunctionEaseInOut];
[self.customView.shadowLayer animateCornerRadius:(CGFloat)25.0
withTimingFunction:timingFunction
duration:(CGFloat)2.5];
MDCSnackbarManager
instances can now be themed using a color scheme:
MDCSnackbarManager *snackbarManager = [[MDCSnackbarManager alloc] init];
MDCSemanticColorScheme *colorScheme = [[MDCSemanticColorScheme alloc] init];
[MDCSnackbarColorThemer applySemanticColorScheme:colorScheme toSnackbarManager:snackbarManager];
API changes
NavigationDrawer
MDCBottomDrawerViewController
new property: scrimColor
in MDCBottomDrawerViewController
MDCBottomDrawerPresentationController
new property: scrimColor
in MDCBottomDrawerPresentationController
ShadowLayer
MDCShadowLayer
new method: -animateCornerRadius:withTimingFunction:duration:
in MDCShadowLayer
Snackbar+ColorThemer
MDCSnackbarColorThemer
new class method: +applySemanticColorScheme:toSnackbarManager:
in MDCSnackbarColorThemer
Component changes
AnimationTiming
- fix swift debugging (#5569) (Yarden Eitan)
BottomAppBar
- Fix path animation (#5611) (Cody Weaver)
BottomNavigation
- Fix selection animation for badge (#5571) (Cody Weaver)
FlexibleHeader
- Fix an edge case in resetShadowAfterTrackingScrollViewIsReset (#5561) (Ali Rabbani)
- Fix animation glitches when switching between UITableView tabs (#5540) (featherless)
NavigationDrawer
- Add scrim color to color themer (#5570) (Cody Weaver)
- Add support for scrimColor (#5568) (Cody Weaver)
- automatically disable scrolling (#5586) (Yarden Eitan)
- fix spacing (#5590) (Yarden Eitan)
ShadowElevations
- Remove .m file (#5583) (Cody Weaver)
ShadowLayer
- Add API to animate corner radius (#5585) (Cody Weaver)
Snackbar
Typography
- Cache standard font for text style. (#5533) (Robert Moore)
v68.1.0
In this minor release we have added a top corners API and a state system for Navigation Drawer along with bug fixes and additional examples.
New features
By using Navigation Drawer's MDCBottomDrawerViewController
, you can now set the top corners radius of your drawer for each of its
different presentation states MDCBottomDrawerState
.
let bottomDrawerViewController = MDCBottomDrawerViewController()
// Set the drawer top corners for the drawer states.
bottomDrawerViewController.setTopCornersRadius(24, for: .collapsed)
bottomDrawerViewController.setTopCornersRadius(8, for: .expanded)
bottomDrawerViewController.contentViewController = contentViewController
bottomDrawerViewController.headerViewController = headerViewController
MDCBottomDrawerColorThemer.applySemanticColorScheme(colorScheme,
toBottomDrawer: bottomDrawerViewController)
present(bottomDrawerViewController, animated: true, completion: nil)
API changes
NavigationDrawer
MDCBottomDrawerViewController
new method: -topCornersRadiusForDrawerState:
in MDCBottomDrawerViewController
new method: -setTopCornersRadius:forDrawerState:
in MDCBottomDrawerViewController
new property: drawerState
in MDCBottomDrawerViewController
modified class: MDCBottomDrawerViewController
Type of change: | Swift declaration |
---|---|
From: | class MDCBottomDrawerViewController : UIViewController |
To: | class MDCBottomDrawerViewController : UIViewController, MDCBottomDrawerPresentationControllerDelegate |
modified class: MDCBottomDrawerViewController
Type of change: | Declaration |
---|---|
From: | @interface MDCBottomDrawerViewController : UIViewController |
To: | @interface MDCBottomDrawerViewController : UIViewController <MDCBottomDrawerPresentationControllerDelegate> |
MDCBottomDrawerState
new enum: MDCBottomDrawerState
new enum value: MDCBottomDrawerStateExpanded
in MDCBottomDrawerState
new enum value: MDCBottomDrawerStateCollapsed
in MDCBottomDrawerState
new typedef: MDCBottomDrawerState
new enum value: MDCBottomDrawerStateFullScreen
in MDCBottomDrawerState
MDCBottomDrawerPresentationController
new property: delegate
in MDCBottomDrawerPresentationController
MDCBottomDrawerPresentationControllerDelegate
new method: -bottomDrawerWillChangeState:drawerState:
in MDCBottomDrawerPresentationControllerDelegate
new method: -bottomDrawerTopTransitionRatio:transitionRatio:
in MDCBottomDrawerPresentationControllerDelegate
new protocol: MDCBottomDrawerPresentationControllerDelegate
Component changes
ActionSheet
- Fix rotation bug (#5505) (Cody Weaver)
AppBar
List
- Use ListThemer for List example (#5502) (Andrew Overton)
- [List Items] Improve BiDi example performance. (#5506) (Robert Moore)
NavigationDrawer
- Added a state system to the Nav Drawer (#5520) (Yarden Eitan)
- Added a top corners radius for state API. (#5543) (Yarden Eitan)
- Fix the init of the MDCBottomDrawerViewController to use the designated inits (#5546) (guylivneh)
- [BottomDrawer] Adding an example for dynamically changing content size (#5545) (guylivneh)
Snackbar
schemes/Color
- Fix pod name (#5532) (Cody Weaver)
schemes/Typography
- Fix pod name (#5532) (Cody Weaver)
v68.0.0
This major release includes a breaking change in behavior for Bottom Sheet's shapes themer, a
variety of bug fixes, a new color themer for NavigationDrawer, and documentation for the Shape
theming system.
Breaking changes
Bottom Sheet's shape themer behavior has changed:
Bottom Sheet now maps the top 2 corners to the Large Component Shape category when the sheet isn't
in a full screen state. When the sheet is in full screen, we do not map it or shape it at all.
New features
NavigationDrawer now has a color themer.
Sliders now respect exclusive touches.
API changes
NavigationDrawer+ColorThemer
New extension.
Component changes
AppBar
BottomSheet
- Respect safe area after upward nudge (#5486) (Cody Weaver)
- [Docs] Adds the shape themer API to the supporting components using the doc generation (#5464) (Yarden Eitan)
- [Shape]! Update to the Bottom Sheet Shape Themer (#5503) (Yarden Eitan)
- adjust code wrapper tags on bottom sheet read me (#5404) (#5446) (Cody Weaver)
Buttons
- [Docs] Adds the shape themer API to the supporting components using the doc generation (#5464) (Yarden Eitan)
Cards
- [Docs] Adds the shape themer API to the supporting components using the doc generation (#5464) (Yarden Eitan)
Chips
- [Docs] Adds the shape themer API to the supporting components using the doc generation (#5464) (Yarden Eitan)
Collections
- Ensures that the cell snapshot generated by MDCCollectionViewEditor reflects changes made to the cell (#5336) (Felix Emiliano)
- Updates MDCCollectionViewEditor panning to use cell's center property instead of transform to update its position (#5329) (Felix Emiliano)
Dialogs
- Fix elevation to use MDCShadowElevation (Cody Weaver)
- Refactor test to use setup and teardown (#5482) (Cody Weaver)
- Theming action buttons in DialogThemer (#5416) (Galia Kaufman)
- Upgrade buttons class to MDCButton (b/117543195) (#5401) (Galia Kaufman)
List
- Add RTL arabic text to list example (#5500) (Andrew Overton)
- Allow stereo cell labels to take up all available space (#5476) (Andrew Overton)
- Do not enforce label text alignment based off effective user interface layout direction (#5475) (Andrew Overton)
- SelfSizingStereoCell should invalidate its layout on re-use (#5439) (Julien Poumailloux)
NavigationDrawer
- Add Color Themer support (#5458) (rami-a)
- Add Fakes files for tests (#5453) (Cody Weaver)
- Add scroll view test (#5445) (Cody Weaver)
- Add test for contentHeaderTopInset and presentingViewBounds (#5465) (Cody Weaver)
- Add unit test for height related properties (#5461) (Cody Weaver)
- Present the drawer in full screen when in a compact size class (#5443) (Yarden Eitan)
- Test content height surplus and scrolls to reveal (#5466) (Cody Weaver)
- fix drawer not dismissing in full screen on 32 bit devices (#5454) (Yarden Eitan)
- graduate navigation drawer from Beta to Ready (#5470) (Yarden Eitan)
Slider
schemes/Shape
v67.2.0
This minor release introduces new functionality for theming individual buttons of an
MDCAlertController.
New features
It is now possible to theme MDCAlertController buttons individually using the new emphasis
property on MDCAlertAction
in conjunction with the MDCAlertControllerThemer
.
let alert = MDCAlertController(title: "Button Theming", message: "High, Medium & Low Emphasis")
alert.addAction(MDCAlertAction(title:"High", emphasis: .high, handler: <#handler#>))
alert.addAction(MDCAlertAction(title:"Medium", emphasis: .medium, handler: <#handler#>))
alert.addAction(MDCAlertAction(title:"Low", emphasis: .low, handler: <#handler#>))
MDCAlertControllerThemer.applyScheme(<#alertScheme#>, to: alert)
self.present(alert, animated: true, completion: nil)
API changes
Dialogs+DialogThemer
MDCAlertScheming
new property: buttonScheme
in MDCAlertScheming
MDCAlertScheme
new property: buttonScheme
in MDCAlertScheme
Dialogs
MDCAlertController
modified property: elevation
in MDCAlertController
Type of change: | Swift declaration |
---|---|
From: | var elevation: CGFloat { get set } |
To: | var elevation: Int32 { get set } |
modified property: elevation
in MDCAlertController
Type of change: | Declaration |
---|---|
From: | @property (assign, readwrite, nonatomic) CGFloat elevation; |
To: | @property (assign, readwrite, nonatomic) int elevation; |
MDCActionEmphasis
new enum: MDCActionEmphasis
new enum value: MDCActionEmphasisLow
in MDCActionEmphasis
new enum value: MDCActionEmphasisMedium
in MDCActionEmphasis
new enum value: MDCActionEmphasisHigh
in MDCActionEmphasis
MDCDialogPresentationController
modified property: dialogElevation
in MDCDialogPresentationController
Type of change: | Swift declaration |
---|---|
From: | var dialogElevation: CGFloat { get set } |
To: | var dialogElevation: Int32 { get set } |
modified property: dialogElevation
in MDCDialogPresentationController
Type of change: | Declaration |
---|---|
From: | @property (assign, readwrite, nonatomic) CGFloat dialogElevation; |
To: | @property (assign, readwrite, nonatomic) int dialogElevation; |
MDCAlertAction
new property: emphasis
in MDCAlertAction
new class method: +actionWithTitle:emphasis:handler:
in MDCAlertAction
Component changes
Dialogs
- Fix elevation to use MDCShadowElevation (Cody Weaver)
- Theming action buttons in DialogThemer (#5416) (Galia Kaufman)
- Upgrade buttons class to MDCButton (b/117543195) (#5401) (Galia Kaufman)
v67.1.0
In this minor release we provide a shadow opacity reset toggle for Flexible Header, VoiceOver and rounded corners support for the Navigation Drawer, along with bug fixes and unit tests improvements.
New features
Flexible Header
- Flexible Header supports resetting the visible shadow opacity to 0 when setting trackingScrollView to
nil
by setting the BOOL propertyresetShadowAfterTrackingScrollViewIsReset
.
Navigation Drawer
-
When VoiceOver or Switch Control is turned on in your app, Navigation Drawer will always show up in full screen.
-
Navigation Drawer has rounded corners when there is more scrollable content to scroll in the drawer.
Component changes
ActionSheet
- Remove remaining _IPHONE_11 checks (#5417) (Cody Weaver)
- Update examples to use global themer (Cody Weaver)
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
ActivityIndicator
AppBar
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
BottomAppBar
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
BottomSheet
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
Buttons
- [MaskedTransition] Apply safe area to floating button example and masked transition example (#5389) (rami-a)
Cards
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
Chips
- Fix layout when Chip added programmatically. (#5425) (Robert Moore)
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
CollectionCells
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
CollectionLayoutAttributes
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
Dialogs
- Enable misspelled test. (#5399) (Robert Moore)
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
FeatureHighlight
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
FlexibleHeader
- Allow clearing shadow when trackingScrollView is emptied (#5385) (Ali Rabbani)
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
List
- BaseCell shouldn't display Ink on tap if -collectionView:shouldHighlightItemAtIndexPath: returns NO (#5393) (Julien Poumailloux)
- Fix example import. (#5426) (Robert Moore)
- Initialize layoutCache in SelfSizingStereoCell (#5422) (Andrew Overton)
- Revert "SelfSizingStereoCell should use MDCTypography instead of hardcoding its own font opacity (#5361)" (#5405) (Julien Poumailloux)
- Update List readme to include information on accessibility and color/… (#5403) (Andrew Overton)
MaskedTransition
NavigationBar
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
NavigationDrawer
- Add buttons to example to present navigation drawer (#5419) (Cody Weaver)
- Add rounded corners when there is scrollable content (#5410) (Cody Weaver)
- Added VoiceOver support to have the drawer show at full screen. (#5411) (Yarden Eitan)
- Made DrawerHeaderViewController.swift file to conform to MDCBottomDrawerHeader to fix header not showing issue in components examples (#5325) (Anuran Barman)
- Remove remaining _IPHONE_11 checks (#5417) (Cody Weaver)
- Setup for tests (#5423) (Cody Weaver)
ProgressView
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
ShadowLayer
- Corner radius (#5390) (#5398) (Cody Weaver)
- Subclass UIView in corner radius example (#5388) (Cody Weaver)
Snackbar
- Clean up unit test. (#5394) (Robert Moore)
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
Tabs
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
TextFields
- {Tests} Deallocate test objects at the end of tests. (#5397) (Robert Moore)
v67.0.0
There are some rendering changes that have lead to classifying this as a major release. There are no major API changes.
We've added some new theming capabilities for Action Sheets and Lists.
API changes
ActionSheet+ActionSheetThemer
New extension.
List+ColorThemer
New extension.
List+ListThemer
New extension.
Component changes
ActionSheet
- Add action sheet themer (#5345) (Cody Weaver)
AppBar
BottomAppBar
BottomNavigation
- Change badge position (#5339) (Cody Weaver)
ButtonBar
Buttons
- Fix a typo around text vs contained button (#5367) (Louis Romero)
Chips
- Add support for third party keyboards (#5342) (Cody Weaver)
- Fix placeholder for manually adding chips (#5343) (Cody Weaver)
- Respect safe area for Chips examples (#5377) (rami-a)
Dialogs
- Update README for new themer (Cody Weaver)
- Update the themer and scheme to have elevation (#5301) (Cody Weaver)
- Update to match spec (#5309) (Cody Weaver)
- add scrimColor to MDCAlertController (#5362) (Galia Kaufman)
List
- Add MDCSelfSizingStereoCellColorThemer (#5311) (Andrew Overton)
- Add global themer for List component (#5378) (Andrew Overton)
- Add tests for List themers (#5315) (Andrew Overton)
- Fix MDCSelfSizingStereoCell not using the right text color and not resetting all label properties on re-use (#5341) (Julien Poumailloux)
- Generalize List themers (#5357) (Andrew Overton)
- SelfSizingStereoCell is not resetting its -mdc_adjustsFontForContentSizeCategory in -prepareForReuse (#5364) (Julien Poumailloux)
- SelfSizingStereoCell should use MDCTypography instead of hardcoding its own font opacity (#5361) (Julien Poumailloux)
NavigationDrawer
- Performance improvements and increased support for customizing initial drawer percentage height (#5255) (Yarden Eitan)
- Support any kInitialDrawerHeightFactor value (#5337) (Yarden Eitan)
TextFields
- TextFields: Fix the error accessibility label, the value was not respected previously. (#5300) (Yilei (Dolee) Yang)