v79.0.0
This major release introduces breaking changes for Swift code that makes use of the MDCContainerScheme and MDCContainerScheming types. It also includes breaking changes for Shapes header files and completes the graduation of Shapes to a production-ready state.
Breaking changes
MDCContainerScheming's and MDCContainerScheme's colorScheme and typographyScheme are now both nonnull. This change will require changes in Swift code that make use of these APIs.
All Shapes headers have been renamed, dropping their New suffix where applicable.
New features
BottomNavigation
BottomNavigation has two new properties: sizeThatFitsIncludesSafeArea and barItemsBottomAnchor.
See components/BottomNavigation/README.md for more details on the sizeThatFitsIncludesSafeArea property.
barItemsBottomAnchor allows anchoring the Bottom Navigation bar to the safe area layout guide. This API is available on iOS 9.0 and above. Example usage:
if (@available(iOS 11.0, *)) {
[navigationBar.barItemsBottomAnchor
constraintEqualToAnchor:view.safeAreaLayoutGuide.bottomAnchor]
.active = YES;
}
FlexibleHeader
MDCFlexibleHeaderViewController introduces a new safeAreaDelegate that can be used to change which view controller is used when extracting top safe area insets.
API changes
BottomNavigation
MDCBottomNavigationBar
new property: sizeThatFitsIncludesSafeArea in MDCBottomNavigationBar
new property: barItemsBottomAnchor in MDCBottomNavigationBar
FlexibleHeader
MDCFlexibleHeaderSafeAreaDelegate
new method: -flexibleHeaderViewControllerTopSafeAreaInsetViewController: in MDCFlexibleHeaderSafeAreaDelegate
new protocol: MDCFlexibleHeaderSafeAreaDelegate
MDCFlexibleHeaderViewController
new property: safeAreaDelegate in MDCFlexibleHeaderViewController
ContainerScheme
MDCContainerScheming
modified property: colorScheme in MDCContainerScheming
| Type of change: | Swift declaration |
|---|---|
| From: | var colorScheme: Any? { get } |
| To: | var colorScheme: Any { get } |
modified property: colorScheme in MDCContainerScheming
| Type of change: | Declaration |
|---|---|
| From: | @property (readonly, nonatomic, nullable) id colorScheme; |
| To: | @property (readonly, nonatomic, nonnull) id colorScheme; |
modified property: typographyScheme in MDCContainerScheming
| Type of change: | Swift declaration |
|---|---|
| From: | var typographyScheme: Any? { get } |
| To: | var typographyScheme: Any { get } |
modified property: typographyScheme in MDCContainerScheming
| Type of change: | Declaration |
|---|---|
| From: | @property (readonly, nonatomic, nullable) id typographyScheme; |
| To: | @property (readonly, nonatomic, nonnull) id typographyScheme; |
MDCContainerScheme
modified property: colorScheme in MDCContainerScheme
| Type of change: | Swift declaration |
|---|---|
| From: | var colorScheme: UnsafeMutablePointer<Int32>? { get set } |
| To: | var colorScheme: UnsafeMutablePointer<Int32> { get set } |
modified property: colorScheme in MDCContainerScheme
| Type of change: | Declaration |
|---|---|
| From: | @property(nonatomic, nullable, readwrite) MDCSemanticColorScheme *colorScheme |
| To: | @property (assign, readwrite, nonatomic, nonnull) int *colorScheme; |
modified property: shapeScheme in MDCContainerScheme
| Type of change: | Declaration |
|---|---|
| From: | @property(nonatomic, nullable, readwrite) MDCShapeScheme *shapeScheme |
| To: | @property (assign, readwrite, nonatomic, nullable) int *shapeScheme; |
modified property: typographyScheme in MDCContainerScheme
| Type of change: | Swift declaration |
|---|---|
| From: | var typographyScheme: UnsafeMutablePointer<Int32>? { get set } |
| To: | var typographyScheme: UnsafeMutablePointer<Int32> { get set } |
modified property: typographyScheme in MDCContainerScheme
| Type of change: | Declaration |
|---|---|
| From: | @property(nonatomic, nullable, readwrite) MDCTypographyScheme *typographyScheme |
| To: | @property (assign, readwrite, nonatomic, nonnull) int *typographyScheme; |
Component changes
Changes
BottomAppBar
- hide swift example from Catalog. (#6725) (Wenyu Zhang)
BottomNavigation
- Make Controller available on iOS 8. (#6719) (Robert Moore)
- Remove deprecation notice from sizeThatFitsIncludesSafeArea (#6727) (featherless)
- sizeThatFits: ignores safe area (#6717) (Robert Moore)
Dialogs
- Fix presented corner radius in custom view controllers (#6696) (Galia Kaufman)
FlexibleHeader
- FlexibleHeader changes (#6748) (Andrew Overton)
NavigationDrawer
- remove beta references from navigation drawer (#6742) (Yarden Eitan)
PageControl
Multi-component changes
- Add autolayout support (#6612) (Robert Moore)
- Fix colorScheme and typographyScheme to be nonnull. (#6699) (Cody Weaver)
- Move shapes from components/private to components/ - Part 3 (last part) (#6734) (Yarden Eitan)
- Slight changes to Cards targets + rewrite rules (#6749) (Andrew Overton)
- Support titlePositionAdjustment (#6721) (Robert Moore)
- updated jazzy yaml files to include framework root (#6750) (Yarden Eitan)