Releases: material-components/material-components-ios
v85.9.1
This patch release fixes a crash in BottomNavigation when a KVO'd property is assigned nil
.
Changes
BottomNavigation
- Make KVO safe for
nil
. (#8083) (Robert Moore)
v85.9.0
This minor release includes new elevation protocols to prepare for Dark Mode, dynamic color
support in several components, and a number of MDCTabBarView features.
New features
Several components support traitCollectionDidChangeBlock
to allow clients inject a block for exection when traitCollections
changes. TabBarView allows clients to set preferred layout style.
API changes
ActionSheet
MDCActionSheetController
new property: traitCollectionDidChangeBlock
in MDCActionSheetController
ActivityIndicator
MDCActivityIndicator
new property: traitCollectionDidChangeBlock
in MDCActivityIndicator
Banner
MDCBannerView
new property: traitCollectionDidChangeBlock
in MDCBannerView
BottomAppBar
MDCBottomAppBarView
new property: traitCollectionDidChangeBlock
in MDCBottomAppBarView
BottomSheet
MDCBottomSheetController
new property: traitCollectionDidChangeBlock
in MDCBottomSheetController
MDCBottomSheetPresentationController
new property: traitCollectionDidChangeBlock
in MDCBottomSheetPresentationController
ButtonBar
MDCButtonBar
new property: traitCollectionDidChangeBlock
in MDCButtonBar
Cards
MDCCard
new property: traitCollectionDidChangeBlock
in MDCCard
MDCCardCollectionCell
new property: traitCollectionDidChangeBlock
in MDCCardCollectionCell
Chips
MDCChipView
new property: traitCollectionDidChangeBlock
in MDCChipView
Dialogs
MDCAlertController
new property: shadowColor
in MDCAlertController
new property: traitCollectionDidChangeBlock
in MDCAlertController
MDCDialogPresentationController
new property: dialogShadowColor
in MDCDialogPresentationController
new property: traitCollectionDidChangeBlock
in MDCDialogPresentationController
Elevation
MDCElevatable
new property: mdc_currentElevation
in MDCElevatable
new property: mdc_elevationDidChangeBlock
in MDCElevatable
new protocol: MDCElevatable
MDCElevatableOverriding
new property: mdc_overrideBaseElevation
in MDCElevatable
new protocol: MDCElevatableOverriding
List
MDCBaseCell
new property: traitCollectionDidChangeBlock
in MDCBaseCell
NavigationDrawer
MDCBottomDrawerPresentationController
new property: traitCollectionDidChangeBlock
in MDCBottomDrawerPresentationController
MDCBottomDrawerViewController
new property: traitCollectionDidChangeBlock
in MDCBottomDrawerViewController
Ripple
MDCRippleView
new property: activeRippleColor
in MDCRippleView
removed method: -setActiveRippleColor:
in MDCRippleView
Slider
MDCSlider
new property: thumbShadowColor
in MDCSlider
Tabs
MDCTabBarView
new enum value: MDCTabBarViewLayoutStyleFixed
in MDCTabBarView
new enum value: MDCTabBarViewLayoutStyleScrollable
in MDCTabBarView
new enum value: MDCTabBarViewLayoutStyleFixedClusteredCentered
in MDCTabBarView
new enum value: MDCTabBarViewLayoutStyleFixedClusteredLeading
in MDCTabBarView
new enum value: MDCTabBarViewLayoutStyleFixedClusteredTrailing
in MDCTabBarView
new enum: MDCTabBarViewLayoutStyle
new typedef: MDCTabBarViewLayoutStyle
new property: preferredLayoutStyle
in MDCTabBarView
new property: selectionChangeAnimationDuration
in MDCTabBarView
new property: selectionChangeAnimationTimingFunction
in MDCTabBarView
Component changes
ActionSheet
- Add traitCollectionDidChange block (#7929) (Cody Weaver)
ActivityIndicator
- Add traitCollectionDidChange block (#7931) (Cody Weaver)
- Support dynamic color (#7950) (Cody Weaver)
Banner
- Add traitCollectionDidChangeBlock API. (#7948) (Wenyu Zhang)
- Add two test cases with icons. (#7989) (Wenyu Zhang)
- Use Arabic for RTL snapshot test (#8010) (Wenyu Zhang)
- add snapshot test for middle length text with large layout margin. (#7957) (Wenyu Zhang)
- fix layout margin not being considered for all layout styles. (#7956) (Wenyu Zhang)
BottomAppBar
- Add traitCollectionDidChange block (#7930) (Cody Weaver)
- add support for dynamic color. (#7975) (Wenyu Zhang)
BottomNavigation
- Add snapshot tests for Bottom Navigation controller. (#7963) (Robert Moore)
- Controller positions content behind the bar (#7970) (Robert Moore)
- Remove iOS 9 guards. (#7997) (Robert Moore)
- Update example to demonstrate lazy loading. (#7991) (Robert Moore)
BottomSheet
- add traitCollectionDidChangeBlock support. (#7966) (Wenyu Zhang)
ButtonBar
- add traitCollectionDidChangeBlock support. (#7976) (Wenyu Zhang)
Cards
- Add Cards dynamic color support (#7906) (Andrew Overton)
- Add traitCollectionDidChange block to MDCCard (#8006) (Cody Weaver)
- Add traitCollectionDidChange block to MDCCardCollectionCell (#8007) (Cody Weaver)
Chips
- Add Dynamic Color Support for Chips (#7946) (Andrew Overton)
- Add traitCollectionDidChangeBlock (#7980) (Bryan Oltman)
Dialogs
- Add shadow color API (#7911) (Cody Weaver)
- Add traitCollectionDidChangeBlock to MDCAlertController (#7981) (Bryan Oltman)
- Remove iOS 9 guards. (#7998) (Robert Moore)
Elevation
- Add MDCElevation protocol. (#7955) (Cody Weaver)
- Add elevationDidChangeBlock to MDCElevation protocol (#7962) (Cody Weaver)
- Add property mdc_overrideElevation property (#7965) (Cody Weaver)
- Add second protocol for overrides (#8034) (Cody Weaver)
- Add MDCElevationOverride to umbrella header (#8052) (Robert Moore)
- Improve protocol naming (#8055) (Yarden Eitan)
- Add category to UIView (#7969) (Cody Weaver)
- passing self to the elevationDidChangeBlock (#8058) (Yarden Eitan)
FeatureHighlight
- Support dynamic color (#7936) (Bryan Oltman)
FlexibleHeader
- [ [FlexibleHeader] Add a snapshot for shadow pre iOS 13. (#7941)](ba222be80d315ddc53e9967d9c...
v85.8.0
This minor release includes two new default color schemes and elevation properties to prepare for Dark Mode, dynamic color
support in several components, Haptics feature in Slider, and a number of MDCTabBarView features.
New features
Several components support traitCollectionDidChangeBlock
to allow clients inject a block for exection when traitCollections
changes. Slider supports Haptics feature.
API changes
AppBar
MDCAppBar
new property: traitCollectionDidChangeBlockForAppBarController
in MDCAppBarNavigationController
BottomNavigation
MDCBottomNavigationBar
new property: traitCollectionDidChangeBlock
in MDCBottomNavigationBar
Buttons
MDCButton
new property: traitCollectionDidChangeBlock
in MDCButton
FlexibleHeader
MDCFlexibleHeaderContainerViewController
new property: traitCollectionDidChangeBlock
in MDCFlexibleHeaderContainerViewController
MDCFlexibleHeaderView
new property: shadowColor
in MDCFlexibleHeaderView
new property: traitCollectionDidChangeBlock
in MDCFlexibleHeaderView
MDCFlexibleHeaderViewController
new property: traitCollectionDidChangeBlock
in MDCFlexibleHeaderViewController
NavigationBar
MDCNavigationBar
new property: traitCollectionDidChangeBlock
in MDCNavigationBar
NavigationDrawer
MDCBottomDrawerContainerViewController
new property: headerShadowColor
in MDCBottomDrawerContainerViewController
Slider
MDCSlider
new property: shouldEnableHapticsForAllDiscreteValues
in MDCSlider
Snackbar
MDCSnackbarManager
new property: messageElevation
in MDCSnackbarManager
MDCSnackbarMessageView
new property: elevation
in MDCSnackbarMessageView
new property: traitCollectionDidChangeBlock
in MDCSnackbarMessageView
Tabs+TabBarView
MDCTabBarView
new method: -rectForItem:inCoordinateSpace:
in MDCTabBarView
schemes/Color
MDCColorScheming
new property: elevationOverlayColor
in MDCColorScheming
new property: elevationOverlayEnabledForDarkMode
in MDCColorScheming
MDCSemanticColorScheme
new property: elevationOverlayColor
in MDCSemanticColorScheme
new property: elevationOverlayEnabledForDarkMode
in MDCSemanticColorScheme
Component changes
AppBar
- Add
defaultTraitCollectionDidChangeBlock
for injecting into AppBars. (#7887) (Robert Moore) - Add
traitCollectionDidChangeBlock
to AppBarViewController. (#7851) (Robert Moore) - Provide app bar parameter for traitCollectionDidChange block. (#7888) (Robert Moore)
Banner
- fix dynamic type support for attributed string. (#7820) (Wenyu Zhang)
BottomNavigation
- Add shadowColor API. (#7910) (Cody Weaver)
- Add
traitCollectionDidChangeBlock
API. (#7893) (Robert Moore)
Buttons
- Add dynamic color support (#7914) (Cody Weaver)
- Add dynamic color support to MDCButton (#7858) (Cody Weaver)
- add traitCollectionDidChangeBlock API. (#7853) (Wenyu Zhang)
FlexibleHeader
- Add dynamic color support to flexible header (#7904) (Cody Weaver)
- Add traitCollectionDidChangeBlock (#7915) (Cody Weaver)
- Add traitCollectionDidChangeBlock (#7922) (Cody Weaver)
- Add unit test for the shadow layer (#7909) (Cody Weaver)
- Add traitCollectionDidChange block (#7917) (Cody Weaver)
NavigationBar
- Add traitCollectionDidChange block. (#7918) (Cody Weaver)
NavigationDrawer
ProgressView
- Provide unique names for methods. (#7824) (Robert Moore)
Shapes
- Fix memory leak in -[MDCRectangleShapeGenerator pathForSize:] by returning an autoreleased CGPathRef (#7913) (Julien Poumailloux)
Slider
Snackbar
- Add button styling properties to MDCSnackbarManager (#7832) (Bryan Oltman)
- Add traitCollectionDidChangeBlock API (#7903) (Bryan Oltman)
- Allow clients to customize elevation (#7844) (Cody Weaver)
- Support dynamic color (#7905) (Bryan Oltman)
- Use MDCShadowLayer instead of UIKit shadows (#7843) (Cody Weaver)
Tabs
- Add
accessibilityElementForItem:
API. (#7818) (Robert Moore) - Add
setSelected:animated:
API for custom views. (#7810) (Robert Moore) - Add bottom divider. (#7817) (Robert Moore)
- Add item style options for TabBarView example. (#7808) (Robert Moore)
- Add snapshot tests for contentInset on MDCTabBarView. (#7815) (Robert Moore)
- Add support for
selectedImage
from UITabBarItem. (#7814) (Robert Moore) - Adjust sizeThatFits: behavior for TabBarView. (#7846) (Robert Moore)
- Allow clients to calculate when a view appears/disappears. (#7841) (Robert Moore)
- Combine "default" unit tests. (#7822) (Robert Moore)
- Don't handle
contentInset
directly in layout. (#7816) (Robert Moore) - Fix crash when assigning
nil
for KVO'd title. (#7806) (Robert Moore) - Fix segmented control position. (#7898) (Robert Moore)
- Fix title-only example. (#7897) (Robert Moore)
- Minor refactoring of KVO code. (#7825) (Robert Moore)
- Retain custom view in example. (#7901) (Robert Moore)
TextFields
- Textfields dynamic color support (#7889) (Andrew Overton)
...
v85.7.0
This minor release exposes some properties on Snackbars and fixes a Banner bug.
API changes
Snackbar
MDCSnackbarManager
new property: buttonInkColor
in MDCSnackbarManager
new property: uppercaseButtonTitle
in MDCSnackbarManager
new property: disabledButtonAlpha
in MDCSnackbarManager
Component changes
Snackbar
- Add button styling properties to MDCSnackbarManager (#7832) (Bryan Oltman)
Banner
- Fix dynamic type support for attributed string (#7820) (Wenyu Zhang)
v85.6.0
This minor release includes features and bug fixes for the MDCTabBarView Beta component.
API changes
Tabs+TabBarView
MDCTabBarViewIndicatorSupporting
removed protocol: MDCTabBarViewIndicatorSupporting
removed property: bounds
in MDCTabBarViewIndicatorSupporting
removed property: contentFrame
in MDCTabBarViewIndicatorSupporting
MDCTabBarItemCustomViewing
modified property: mdc_customView
in MDCTabBarItemCustomViewing
Type of change: | Declaration |
---|---|
From: | @property (readwrite, strong, nonatomic, nullable) UIView<MDCTabBarViewIndicatorSupporting> *mdc_customView; |
To: | @property (readwrite, strong, nonatomic, nullable) UIView<MDCTabBarViewCustomViewable> *mdc_customView; |
MDCTabBarView
new property: bottomDividerColor
in MDCTabBarView
new method: -accessibilityElementForItem:
in MDCTabBarView
MDCTabBarViewCustomViewable
new property: bounds
in MDCTabBarViewCustomViewable
new property: contentFrame
in MDCTabBarViewCustomViewable
new protocol: MDCTabBarViewCustomViewable
new method: -setSelected:animated:
in MDCTabBarViewCustomViewable
Component changes
Tabs
- Add
accessibilityElementForItem:
API. (#7818) (Robert Moore) - Add
setSelected:animated:
API for custom views. (#7810) (Robert Moore) - Add bottom divider. (#7817) (Robert Moore)
- Add item style options for TabBarView example. (#7808) (Robert Moore)
- Add snapshot tests for contentInset on MDCTabBarView. (#7815) (Robert Moore)
- Add support for
selectedImage
from UITabBarItem. (#7814) (Robert Moore) - Adjust sizeThatFits: behavior for TabBarView. (#7846) (Robert Moore)
- Combine "default" unit tests. (#7822) (Robert Moore)
- Don't handle
contentInset
directly in layout. (#7816) (Robert Moore) - Fix crash when assigning
nil
for KVO'd title. (#7806) (Robert Moore) - Minor refactoring of KVO code. (#7825) (Robert Moore)
v85.5.1
This patch release makes a FlexibleHeader dependency on MaterialMath explicit in MaterialComponents.podspec so that pod lib lint validations pass and the release can be published successfully with Cocoapods. There are no code changes.
Component changes
FlexibleHeader
v85.5.0
This minor release includes a theming extension for ProgressView, a bug fix for FlexibleHeader, haptics support for Slider, and progress on a number of core MDCTabBarView features.
New features
ProgressView now has a theming extension.
MDCProgressView *progressView = [[MDCProgressView alloc] init];
MDCContainerScheme *containerScheme = [[MDCContainerScheme alloc] init];
[progressView applyThemeWithScheme:containerScheme];
API changes
ProgressView+Theming
New extension.
Slider
MDCSlider
new property: hapticsEnabled
in MDCSlider
Component changes
FlexibleHeader
- use MDCEdgeInsetsEqualToEdgeInsets to compare insets when enforcing insets for scroll view.(#7807) (Wenyu Zhang)
ProgressView
- Add an MDCProgressView theming extension (#7791) (Andrew Overton)
- Provide unique names for methods (#7824) (Robert Moore)
Slider
- Haptics For Slider (#7738) (afweiss)
Tabs
- Add Selection Indicator (#7767) (Robert Moore)
- Allow setting ripple color. (#7784) (Robert Moore)
- Customize selection indicator color. (#7774) (Robert Moore)
- Deduplicate item view layout and contentFrame calculation. (#7796) (Robert Moore)
- Fix
contentFrame
for item view. (#7782) (Robert Moore) - Fixes layout for changing font sizes. (#7771) (Robert Moore)
- Improve text and image rendering. (#7803) (Robert Moore)
- Include public headers in umbrella header. (#7783) (Robert Moore)
- Inject dummy scroll view into example. (#7772) (Robert Moore)
- Inset scrollable tabs by 52 points. (#7776) (Robert Moore)
- Item views should translate their autoresizing mask into constraints (Ang)
- Remove extra
contentView
from item view. (#7795) (Robert Moore) - Remove unused/duplicate method. (#7793) (Robert Moore)
- Switch to manual layout (#7764) (Robert Moore)
- Update README for TabBarView. (#7799) (Robert Moore)
- Vertically hug content in sizeThatFits: (#7777) (Robert Moore)
private/Math
v85.4.0
85.4.0
This minor release includes changes to the MDCTabBarView Beta component.
API Changes
Tabs+TabBarView
MDCTabBarViewIndicatorTemplate
new protocol: MDCTabBarViewIndicatorTemplate
new method: -indicatorAttributesForContext:
in MDCTabBarViewIndicatorTemplate
MDCTabBarViewIndicatorAttributes
new class: MDCTabBarViewIndicatorAttributes
new property: path
in MDCTabBarViewIndicatorAttributes
MDCTabBarViewIndicatorContext
new property: contentFrame
in MDCTabBarViewIndicatorContext
new protocol: MDCTabBarViewIndicatorContext
new property: item
in MDCTabBarViewIndicatorContext
new property: bounds
in MDCTabBarViewIndicatorContext
MDCTabBarView
new property: rippleColor
in MDCTabBarView
MDCTabBarViewUnderlineIndicatorTemplate
new class: MDCTabBarViewUnderlineIndicatorTemplate
Component changes
Tabs
- Allow setting ripple color. (#7784) (Robert Moore)
- Fix
contentFrame
for item view. (#7782) (Robert Moore) - Include public headers in umbrella header. (#7783) (Robert Moore)
- Item views should translate their autoresizing mask into constraints (Ang)
v85.3.0
85.3.0
This minor release includes changes to the MDCTabBarView Beta component.
Component changes
Tabs
- Add Selection Indicator (#7767) (Robert Moore)
- Customize selection indicator color. (#7774) (Robert Moore)
- Fixes layout for changing font sizes. (#7771) (Robert Moore)
- Inject dummy scroll view into example. (#7772) (Robert Moore)
- Inset scrollable tabs by 52 points. (#7776) (Robert Moore)
- Switch to manual layout (#7764) (Robert Moore)
- Vertically hug content in sizeThatFits: (#7777) (Robert Moore)
v85.2.0
In this minor release we have fixed bugs in Buttons and FlexibleHeader, added new features to Banner, added a theming extension for BottomNavigation, and improved test coverage in BottomSheet.
New features
MDCBanner now supports intrinsicContentSize
.
MDCBannerView *myBanner = ...
CGSize validIntrinsicContentSize = myBanner.intrinsicContentSize;
API changes
Banner
MDCBannerView
new property: mdc_adjustsFontForContentSizeCategory
in MDCBannerView
BottomNavigation+Theming
New extension.
Tabs+TabBarView
MDCTabBarViewIndicatorSupporting
new protocol: MDCTabBarViewIndicatorSupporting
new property: contentFrame
in MDCTabBarViewIndicatorSupporting
new property: bounds
in MDCTabBarViewIndicatorSupporting
MDCTabBarView
new method: -setTitleFont:forState:
in MDCTabBarView
new method: -titleColorForState:
in MDCTabBarView
new method: -setImageTintColor:forState:
in MDCTabBarView
new method: -titleFontForState:
in MDCTabBarView
new method: -imageTintColorForState:
in MDCTabBarView
new property: tabBarDelegate
in MDCTabBarView
new method: -setSelectedItem:animated:
in MDCTabBarView
new method: -setTitleColor:forState:
in MDCTabBarView
new property: barTintColor
in MDCTabBarView
MDCTabBarItem
new class: MDCTabBarItem
MDCTabBarItemCustomViewing
new protocol: MDCTabBarItemCustomViewing
new property: mdc_customView
in MDCTabBarItemCustomViewing
MDCTabBarViewDelegate
new method: -tabBarView:shouldSelectItem:
in MDCTabBarViewDelegate
new protocol: MDCTabBarViewDelegate
new method: -tabBarView:didSelectItem:
in MDCTabBarViewDelegate
TextFields+ContainedInputView
New extension.
Changes
Banner
- Add intrinsicContentSize support with an example. (#7620) (Wenyu Zhang)
- Support Dynamic Type in Banner (#7709) (Wenyu Zhang)
BottomNavigation
- Add theming extension (#7691) (Cody Weaver)
BottomSheet
Buttons
FlexibleHeader
- Ensures the frame is correct under UIKit for Mac (#7668) (Mark Aufflick)
- Use updated voiceover status change notification (#7571) (Josh Converse)
Tabs
- Add
barTintColor
API. (#7711) (Robert Moore) - Add accessibility hint and identifier (#7729) (Cody Weaver)
- Add accessibility label (#7727) (Cody Weaver)
- Add accessibility traits support (#7739) (mikefan1991)
- Add delegate support to MDCTabBarView (#7725) (mikefan1991)
- Add imageTintColorForState APIs. (#7714) (Robert Moore)
- Add initial support for custom view. (#7678) (Robert Moore)
- Add ripple effect (#7726) (Ang)
- Add the user selection visible logic (#7740) (mikefan1991)
- Add titleColorForState: API. (#7712) (Robert Moore)
- Add titleFontForState APIs (#7757) (Cody Weaver)
- Add user selection support to the MDCTabBarView (#7713) (mikefan1991)
- Adds justified and scrollable layout to MDCTabBarView (#7704) (Ang)
- Adds safe area inset (#7753) (Ang)
- Adds support for rendering custom views. (#7755) (Robert Moore)
- Allow setting selected item without animation. (#7749) (Robert Moore)
- Create default selection indicator template. (#7751) (Robert Moore)
- Expose the the iconImageView and the titleLabel of the item view (#7703) (mikefan1991)
- Fix MDCTabBarViewItemView sizing. (#7718) (Robert Moore)
- Fix bugs (#7735) (mikefan1991)
- Fix image tint color when unselecting an item. (#7756) (Robert Moore)
- Fix scroll-to-item for RTL. (#7754) (Robert Moore)
- Fix the layout of MDCTabBarViewItemView (#7747) (mikefan1991)
- Fork selection indicator. (#7723) (Robert Moore)
- Ignore
selectedItem
values not initems
. (#7702) (Robert Moore) - Initial MDCTabBarViewItemView version (#7665) (mikefan1991)
- KVO UITabBarItem's
title
andimage
properties (#7700) (Robert Moore) - Make itemView conform to the selection indicator protocol. (#7750) (Robert Moore)
- Rearrange MDCTabBarView internals. (#7696) (Robert Moore)
- Remove redundant code. (#7716) (Robert Moore)
- Send tab item title/image to views (#7698) (Robert Moore)
- Use templated image in snapshot test. (#7730) (Robert Moore)
TextFields
- Add MDCBaseTextField as extension (#7694) (Andrew Overton)
private/ThumbTrack
- Uses @synthesize for touchController to avoid warning (#7670) (Sylvain Defresne)