This minor release introduces some new features to Flexible Header and Snackbar and includes some bug fixes in the Catalog app.
MDCFlexibleHeaderViewController's -updateTopLayoutGuide
will be deprecated in the future. It should no longer be necessary to call this API if you are using an MDCFlexibleHeaderContainerViewController
.
new class method: +hasMessagesShowingOrQueued
in MDCSnackbarManager
This patch release adds metadata to the bidirectionality eng stub doc.
This patch release adds documentation polish around bidirectionality.
This patch release includes more documentation polish and a bug fix for Cards theming.
This patch release polishes and fleshes out documentation across many of our components. There are no source changes in this release.
This major release introduces breaking changes to CocoaPods dependencies. Please read the breaking changes section for more details.
This release also includes a significant amount of documnetation polish and some accessibility bug fixes.
CocoaPods +Extension targets have been removed and replaced with more specific targets for the individual extensions. For example, if you were importing a component's extensions like this before:
pod 'MaterialComponents/Buttons+Extensions'
You‘ll now need to depend on the individual Button extension targets that you’re making use of:
pod 'MaterialComponents/Buttons+ButtonThemer'
To see a full list of available extensions for a given component, read the MaterialComponents.podspec file.
This release focused on documentation across all of our componentry and introduced new outlined themes for components. There have also been significant improvements to theming in the MDCCatalog app.
Buttons, Cards, and Chips now support outlined themes.
// Buttons: [MDCOutlinedButtonThemer applyScheme:buttonScheme toButton:outlinedButton]; // Cards: [MDCCardThemer applyOutlinedVariantWithScheme:cardScheme toCard:component]; // Chips: [MDCChipViewThemer applyOutlinedVariantWithScheme:cardScheme toChipView:component];
Chip hit areas can now be modified using the new hitAreaInsets
API:
chip.hitAreaInsets = UIEdgeInsetsMake(chipVerticalInset, 0, chipVerticalInset, 0);
new property: hitAreaInsets
in MDCChipView
This release introduces umbrella headers for all themer targets. We encourage you to start using the new umbrella headers for all themer APIs.
For example, Swift imports would change like so:
// Before import MaterialComponents.MDCActivityIndicatorColorThemer // After import MaterialComponents.MaterialActivityIndicator_ColorThemer
While Objective-C imports would change like so:
// Before #import "MDCAppBarColorThemer.h" // After #import "MaterialAppBar+ColorThemer.h"
We are focused on polishing the Catalog with the new theming systems and updating our component documentation accordingly. Few new features, if any, will be added over the next few releases.
This release is the final push towards supporting themers on our components.
We will now shift focus to polishing APIs, documentation, and examples and to fixing bugs.
It is now possible to configure colors on BottomNavigation, ButtonBar, NavigationBar, and Tabs statefully.
TextFields now allows customization of the active floating placeholder color.
MDCTabBar now allows the display of a bottom divider using the bottomDividerColor
API.
new property: selectedItemTitleColor
in MDCBottomNavigationBar
new method: -buttonsTitleColorForState:
in MDCButtonBar
new method: -setButtonsTitleColor:forState:
in MDCButtonBar
new method: -imageTintColorForState:
in MDCButton
new method: -setImageTintColor:forState:
in MDCButton
new method: -setButtonsTitleColor:forState:
in MDCNavigationBar
new method: -buttonsTitleColorForState:
in MDCNavigationBar
new typedef: MDCTabBarItemState
new enum value: MDCTabBarItemStateSelected
in MDCTabBarItemState
new enum: MDCTabBarItemState
new enum value: MDCTabBarItemStateNormal
in MDCTabBarItemState
new method: -imageTintColorForState:
in MDCTabBar
new method: -titleColorForState:
in MDCTabBar
new method: -setImageTintColor:forState:
in MDCTabBar
new property: bottomDividerColor
in MDCTabBar
new method: -setTitleColor:forState:
in MDCTabBar
new property: floatingPlaceholderActiveColorDefault
in MDCTextInputControllerFloatingPlaceholder
new property: floatingPlaceholderActiveColor
in MDCTextInputControllerFloatingPlaceholder
This release continues to increase coverage of themers across our components.
ButtonBar now has a Typography themer.
NavigationBar now has APIs for customizing title button fonts.
new method: -setButtonsTitleFont:forState:
in MDCNavigationBar
new method: -buttonsTitleFontForState:
in MDCNavigationBar
This release continues to improve the support for our themer APIs across all components.
Button Bar now allows button typography to be configured.
Floating buttons and contained buttons now have themers.
AppBar and Tabs now have a surface variant color themer API.
Slider now has a color themer.
new method: -setButtonsTitleFont:forState:
in MDCButtonBar
new method: -buttonsTitleFontForState:
in MDCButtonBar
This new release introduces shapes support to buttons and a variety of new themer APIs for many components.
Buttons can now be styled with different shape outlines. Example usage:
MDCRectangleShapeGenerator *raisedShapeGenerator = [[MDCRectangleShapeGenerator alloc] init]; [raisedShapeGenerator setCorners:[[MDCCutCornerTreatment alloc] initWithCut:8.f]]; button.shapeGenerator = raisedShapeGenerator;
There is a new Text Button API for theming an MDCButton to make complete use of typography, color, and other configurable properties of a button's design. A button themed as a text button is closely equivalent to the MDCFlatButton
class, MDCFlatButton
will soon be deprecated as a result in favor of the following pattern:
// Define your button's scheme somewhere centrally in your app. let buttonScheme = MDCButtonScheme() buttonScheme.colorScheme = myAppColorScheme // Apply the button scheme to an MDCButton to give it the appearance of a text button. // button: MDCButton MDCTextButtonThemer.applyScheme(buttonScheme, to: button)
NavigationBar and FlexibleHeader now both have a surface variant themer.
Chips and Tabs have updated color themers.
new property: shapeGenerator
in MDCButton
This release introduces a new API for compositing colors for use by color themers.
new method: MDCSemanticColorScheme
+blendColor:withBackgroundColor:
This is a hotfix release fixing a bug in ButtonBar that was introduced in 54.6.0.
This release introduces new APIs and themers for customizing typography and color. This release also fixes a bug in NavigationBar affecting title label kerning for system fonts. This may result in visual changes for navigation bar instances.
AppBar now has a Typography themer.
Buttons now has a raised button color themer.
BottomSheets background tap-to-dismiss behavior can now be disabled with dismissOnBackgroundTap
.
ButtonBar and NavigationBar's ink color can now be customized.
Cars now has a Color themer.
NavigationBar has a new opt-in behavioral change gated by the useFlexibleTopBottomInsets
property. Enabling this property will result in new layout behavior for the navigation bar's titleView. This flag will be enabled by default in the future. Consider enabling this flag on your navigation bar instances in order to verify that the new behavior will not cause regressions in your app.
TextFields now expose a backgroundColor property.
new property: dismissOnBackgroundTap
in MDCBottomSheetPresentationController
new property: dismissOnBackgroundTap
in MDCBottomSheetTransitionController
new property: dismissOnBackgroundTap
in MDCBottomSheetController
new property: inkColor
in MDCButtonBar
new property: inkColor
in MDCNavigationBar
new property: useFlexibleTopBottomInsets
in MDCNavigationBar
new property: backgroundColor
in MDCTextInputControllerBase
new property: backgroundColorDefault
in MDCTextInputController
new property: backgroundColor
in MDCTextInputController
This release includes bug fixes and increased coverage of our themer APIs for components.
Slider now exposes a variety of properties for customizing color, including new stateful color APIs. To make use of the new stateful APIs, you must enable statefulAPIEnabled
on the MDCSlider instance.
BottomNavigationBar and Dialogs now both have a semantic color themer.
new method: -setBackgroundTrackTickColor:forState:
in MDCSlider
new property: valueLabelTextColor
in MDCSlider
new method: -trackFillColorForState:
in MDCSlider
new method: -backgroundTrackTickColorForState:
in MDCSlider
new method: -setThumbColor:forState:
in MDCSlider
new method: -trackBackgroundColorForState:
in MDCSlider
new method: -setFilledTrackTickColor:forState:
in MDCSlider
new method: -filledTrackTickColorForState:
in MDCSlider
new method: -thumbColorForState:
in MDCSlider
new method: -setTrackBackgroundColor:forState:
in MDCSlider
new property: inkColor
in MDCSlider
new property: statefulAPIEnabled
in MDCSlider
new property: valueLabelBackgroundColor
in MDCSlider
new method: -setTrackFillColor:forState:
in MDCSlider
Buttons now has a Typography themer.
MDCFlatButton now has a color themer API.
This release continues to expand our support for component Color and Typography theming.
Buttons and Snackbar now have a Color themer.
BottomNavigationBar, Chips, NavigationBar, TextFields each now have a Typography themer.
Dialogs, FeatureHighlight, and TabBar now each have a Typography themer.
ActivityIndicator and AppBar now have an updated Color themer.
new property: titleFont
in MDCFeatureHighlightViewController
new property: bodyFont
in MDCFeatureHighlightViewController
new property: textInputFont
in MDCTextInputController
new property: textInputFontDefault
in MDCTextInputController
Snackbar now has a Typography themer.
NavigationBar now exposes a Color themer API that makes use of the MDCColorScheming
type.
Added missing CocoaPods dependencies from v54.0.0.
MDCMaskedTransition
has been removed and replaced with MDCMaskedTransitionController
. You may now use MDCMaskedTransitionController
as a standard UIKit transitioning delegate.
Many components now expose new public APIs for configuring typography, color, and shapes.
new property: shapeGenerator
in MDCCardCollectionCell
new property: shapeGenerator
in MDCCard
new property: titleColor
in MDCAlertController
new property: titleFont
in MDCAlertController
new property: messageFont
in MDCAlertController
new property: buttonTitleColor
in MDCAlertController
new property: buttonFont
in MDCAlertController
new property: messageColor
in MDCAlertController
removed class: MDCMaskedTransition
removed method: -init
in MDCMaskedTransition
removed method: -initWithSourceView:
in MDCMaskedTransition
removed property: calculateFrameOfPresentedView
in MDCMaskedTransition
new property: sourceView
in MDCMaskedTransitionController
new method: -initWithSourceView:
in MDCMaskedTransitionController
new method: -init
in MDCMaskedTransitionController
new property: calculateFrameOfPresentedView
in MDCMaskedTransitionController
new class: MDCMaskedTransitionController
new property: titleFont
in MDCNavigationBar
new property: titleTextColor
in MDCNavigationBar
new class method: +buttonTitleColorForState:
in MDCSnackbarManager
new property: mdc_adjustsFontForContentSizeCategory
in MDCSnackbarManager
new property: snackbarMessageViewBackgroundColor
in MDCSnackbarManager
new property: shouldApplyStyleChangesToVisibleSnackbars
in MDCSnackbarManager
new property: buttonFont
in MDCSnackbarManager
new class method: +setButtonTitleColor:forState:
in MDCSnackbarManager
new property: snackbarMessageViewShadowColor
in MDCSnackbarManager
new property: messageTextColor
in MDCSnackbarManager
new property: messageFont
in MDCSnackbarManager
modified class method: +setPresentationHostView:
in MDCSnackbarManager
Type of change: | Declaration |
---|---|
From: | + (void)setPresentationHostView:(UIView *)hostView; |
To: | + (void)setPresentationHostView:(nullable UIView *)hostView; |
modified class method: +dismissAndCallCompletionBlocksWithCategory:
in MDCSnackbarManager
Type of change: | Declaration |
---|---|
From: | + (void)dismissAndCallCompletionBlocksWithCategory:(NSString *)category; |
To: | + (void)dismissAndCallCompletionBlocksWithCategory: (nullable NSString *)category; |
modified class method: +suspendMessagesWithCategory:
in MDCSnackbarManager
Type of change: | Swift declaration |
---|---|
From: | class func suspendMessages(withCategory category: Any!) -> MDCSnackbarSuspensionToken! |
To: | class func suspendMessages(withCategory category: Any!) -> MDCSnackbarSuspensionToken? |
modified class method: +suspendMessagesWithCategory:
in MDCSnackbarManager
Type of change: | Declaration |
---|---|
From: | + (id<MDCSnackbarSuspensionToken>)suspendMessagesWithCategory: (NSString *)category; |
To: | + (nullable id<MDCSnackbarSuspensionToken>)suspendMessagesWithCategory: (nullable NSString *)category; |
modified class method: +showMessage:
in MDCSnackbarManager
Type of change: | Swift declaration |
---|---|
From: | class func show(_ message: MDCSnackbarMessage!) |
To: | class func show(_ message: MDCSnackbarMessage?) |
modified class method: +showMessage:
in MDCSnackbarManager
Type of change: | Declaration |
---|---|
From: | + (void)showMessage:(MDCSnackbarMessage *)message; |
To: | + (void)showMessage:(nullable MDCSnackbarMessage *)message; |
modified class method: +suspendAllMessages
in MDCSnackbarManager
Type of change: | Swift declaration |
---|---|
From: | class func suspendAllMessages() -> MDCSnackbarSuspensionToken! |
To: | class func suspendAllMessages() -> MDCSnackbarSuspensionToken? |
modified class method: +suspendAllMessages
in MDCSnackbarManager
Type of change: | Declaration |
---|---|
From: | + (id<MDCSnackbarSuspensionToken>)suspendAllMessages; |
To: | + (nullable id<MDCSnackbarSuspensionToken>)suspendAllMessages; |
modified class method: +resumeMessagesWithToken:
in MDCSnackbarManager
Type of change: | Swift declaration |
---|---|
From: | class func resumeMessages(with token: MDCSnackbarSuspensionToken!) |
To: | class func resumeMessages(with token: MDCSnackbarSuspensionToken?) |
modified class method: +resumeMessagesWithToken:
in MDCSnackbarManager
Type of change: | Declaration |
---|---|
From: | + (void)resumeMessagesWithToken:(id<MDCSnackbarSuspensionToken>)token; |
To: | + (void)resumeMessagesWithToken:(nullable id<MDCSnackbarSuspensionToken>)token; |
Moved to schemes/Typography.
Moved to schemes/Color.
Moved to schemes/Color.
Moved to schemes/Color.
Moved to schemes/Color.
Moved to schemes/Typography.
New component.
primaryColor
and applies it to the selectedItemTintColor
. It will no longer apply values to either unselectedItemTintColor
or barTintColor
.modified class: MDCTextInputControllerLegacyDefault
Type of change: | Swift declaration |
---|---|
From: | class MDCTextInputControllerLegacyDefault : NSObject, MDCTextInputControllerFloatingPlaceholder |
To: | class MDCTextInputControllerLegacyDefault : MDCTextInputControllerBase |
modified class: MDCTextInputControllerLegacyDefault
Type of change: | Declaration |
---|---|
From: | @interface MDCTextInputControllerLegacyDefault : NSObject <MDCTextInputControllerFloatingPlaceholder> |
To: | @interface MDCTextInputControllerLegacyDefault : MDCTextInputControllerBase |
modified class: MDCTextInputControllerLegacyFullWidth
Type of change: | Swift declaration |
---|---|
From: | class MDCTextInputControllerLegacyFullWidth : NSObject, MDCTextInputController |
To: | class MDCTextInputControllerLegacyFullWidth : MDCTextInputControllerFullWidth, NSSecureCoding |
modified class: MDCTextInputControllerLegacyFullWidth
Type of change: | Declaration |
---|---|
From: | @interface MDCTextInputControllerLegacyFullWidth : NSObject <MDCTextInputController> |
To: | @interface MDCTextInputControllerLegacyFullWidth : MDCTextInputControllerFullWidth <NSSecureCoding> |
removed property: textInputFont
in MDCTextInputController
removed property: textInputFontDefault
in MDCTextInputController
New component.
MDCTabBarFontThemer and MDCBottomAppBarColorThemer changed a argument to nonnull from nullable.
new property: backgroundColor
in MDCBottomNavigationBar
new property: barTintColor
in MDCBottomNavigationBar
new property: minimumSize
in MDCChipView
new property: cardBorderRadius
in MDCCollectionViewStyling
new property: textInputFont
in MDCTextInputController
new property: textInputFontDefault
in MDCTextInputController
barTintColor
to replace backgroundColor
(#3085) (Robert Moore)NS_UNAVAILABLE property: backgroundColor
in MDCBottomAppBarView
new property: barTintColor
in MDCBottomAppBarView
NS_UNAVAILABLE property: backgroundColor
in MDCBottomAppBarView
new property: shadowColor
in MDCBottomAppBarView
new property: backgroundColor
in MDCBottomAppBarView
new property: titleColor
in MDCAlertControllerView
new property: mdc_adjustsFontForContentSizeCategory
in MDCAlertControllerView
new class: MDCAlertControllerView
new property: titleFont
in MDCAlertControllerView
new property: buttonColor
in MDCAlertControllerView
new property: buttonFont
in MDCAlertControllerView
new property: messageColor
in MDCAlertControllerView
new property: messageFont
in MDCAlertControllerView
removed property: highlightedButtonTextColor
in MDCSnackbarMessage
deprecated property: buttonTextColor
in MDCSnackbarMessage
modified property: snackbarMessageViewTextColor
in MDCSnackbarMessageView()
Type of change: | Deprecation message |
---|---|
From: | snackbarMessageViewTextColor |
To: | messsageTextColor |
modified property: snackbarMessageViewTextColor
in MDCSnackbarMessageView()
Type of change: | Deprecation |
---|---|
From: | 0 |
To: | 1 |
modified property: snackbarMessageViewTextColor
in MDCSnackbarMessageView()
Type of change: | parent.usr |
---|---|
From: | c:objc(cs)MDCSnackbarMessageView |
To: | c:objc(ext)MDCSnackbarMessageView@MDCSnackbarMessageView.h@2959 |
new property: messageTextColor
in MDCSnackbarMessageView
new method: -buttonTitleColorForState:
in MDCSnackbarMessageView
new property: mdc_adjustsFontForContentSizeCategory
in MDCSnackbarMessageView
new method: -setButtonTitleColor:forState:
in MDCSnackbarMessageView
new property: usesLegacySnackbar
in MDCSnackbarMessage
removed property: highlightedButtonTextColor
in MDCSnackbarMessage
removed property: buttonTextColor
in MDCSnackbarMessage
new method: -snackbarMessageViewTextColor
in snackbarMessageViewTextColor
in MDCSnackbarMessageView()
new category: MDCSnackbarMessageView()
new method: -setSnackbarMessageViewTextColor:
in snackbarMessageViewTextColor
in MDCSnackbarMessageView()
modified property: snackbarMessageViewTextColor
in MDCSnackbarMessageView()
Type of change: | Deprecation message |
---|---|
From: | `` |
To: | Use messsageTextColor instead. |
modified property: snackbarMessageViewTextColor
in MDCSnackbarMessageView()
Type of change: | Deprecation |
---|---|
From: | 0 |
To: | 1 |
modified property: snackbarMessageViewTextColor
in MDCSnackbarMessageView()
Type of change: | parent.usr |
---|---|
From: | c:objc(cs)MDCSnackbarMessageView |
To: | c:objc(ext)MDCSnackbarMessageView@MDCSnackbarMessageView.h@2959 |
removed property: selectedImageTintColor
in MDCCardCollectionCell
removed property: selectedImage
in MDCCardCollectionCell
new method: -setVerticalImageAlignment:forState:
in MDCCardCollectionCell
new method: -setImageTintColor:forState:
in MDCCardCollectionCell
new method: -horizontalImageAlignmentForState:
in MDCCardCollectionCell
new method: -imageForState:
in MDCCardCollectionCell
new method: -imageTintColorForState:
in MDCCardCollectionCell
new method: -setImage:forState:
in MDCCardCollectionCell
new method: -verticalImageAlignmentForState:
in MDCCardCollectionCell
new method: -setHorizontalImageAlignment:forState:
in MDCCardCollectionCell
removed property: selectedImageTintColor
in MDCCardCollectionCell
removed property: selectedImage
in MDCCardCollectionCell
modified class: MDCCardCollectionCell
new enum value: MDCCardCellVerticalImageAlignmentBottom
in MDCCardCellVerticalImageAlignment
new typedef: MDCCardCellVerticalImageAlignment
new enum: MDCCardCellVerticalImageAlignment
new enum value: MDCCardCellVerticalImageAlignmentCenter
in MDCCardCellVerticalImageAlignment
new enum value: MDCCardCellVerticalImageAlignmentTop
in MDCCardCellVerticalImageAlignment
new enum value: MDCCardCellHorizontalImageAlignmentRight
in MDCCardCellHorizontalImageAlignment
new enum value: MDCCardCellHorizontalImageAlignmentCenter
in MDCCardCellHorizontalImageAlignment
new typedef: MDCCardCellHorizontalImageAlignment
new enum: MDCCardCellHorizontalImageAlignment
new enum value: MDCCardCellHorizontalImageAlignmentLeft
in MDCCardCellHorizontalImageAlignment
new method: -setProgress:animated:
in MDCActivityIndicator
modified class: MDCTonalPalette
Type of change: | Swift declaration |
---|---|
From: | class MDCTonalPalette : NSObject, NSCoding, NSCopying |
To: | class MDCTonalPalette : NSObject, NSCopying, NSSecureCoding |
modified class: MDCTonalPalette
Type of change: | Declaration |
---|---|
From: | @interface MDCTonalPalette : NSObject <NSCoding, NSCopying> |
To: | @interface MDCTonalPalette : NSObject <NSCopying, NSSecureCoding> |
Remove Material Motion from the BottomSheets component as it was causing crashes on iOS 8.
removed property: dismissOnBackgroundTap
in MDCDialogTransition
removed class: MDCDialogTransition
modified class: MDCTextInputUnderlineView
Type of change: | Swift declaration |
---|---|
From: | class MDCTextInputUnderlineView : UIView, NSCopying, NSCoding |
To: | class MDCTextInputUnderlineView : UIView, NSCopying, NSSecureCoding |
modified class: MDCTextInputUnderlineView
Type of change: | Declaration |
---|---|
From: | @interface MDCTextInputUnderlineView : UIView <NSCopying, NSCoding> |
To: | @interface MDCTextInputUnderlineView : UIView <NSCopying, NSSecureCoding> |
modified protocol: MDCTextInputController
Type of change: | Swift declaration |
---|---|
From: | protocol MDCTextInputController : NSObjectProtocol, NSCoding, NSCopying, MDCTextInputPositioningDelegate |
To: | protocol MDCTextInputController : NSObjectProtocol, NSSecureCoding, NSCopying, MDCTextInputPositioningDelegate |
modified protocol: MDCTextInputController
Type of change: | Declaration |
---|---|
From: | @protocol MDCTextInputController <NSObject, NSCoding, NSCopying, MDCTextInputPositioningDelegate> |
To: | @protocol MDCTextInputController <NSObject, NSSecureCoding, NSCopying, MDCTextInputPositioningDelegate> |
Added extra guard to prevent crash cause by adding nil to a NSCache.
New component.
new method: -startTouchBeganAtPoint:animated:withCompletion:
in MDCInkView
new method: -startTouchEndAtPoint:animated:withCompletion:
in MDCInkView
new class: MDCButtonBarButton
new method: -inkColorForState:
in MDCChipView
new method: -setInkColor:forState:
in MDCChipView
modified class: MDCChipView
modified property: inkColor
in MDCChipView
modified property: inkColor
in MDCChipView
new property: buttonFont
in MDCSnackbarMessageView
new property: messageFont
in MDCSnackbarMessageView
new property: button
in MDCFontScheme
new property: body2
in MDCFontScheme
new property: headline5
in MDCFontScheme
new property: caption
in MDCFontScheme
new property: subtitle2
in MDCFontScheme
new property: subtitle1
in MDCFontScheme
new property: body1
in MDCFontScheme
new property: headline1
in MDCFontScheme
new property: overline
in MDCFontScheme
new property: headline2
in MDCFontScheme
new property: headline4
in MDCFontScheme
new protocol: MDCFontScheme
new property: headline3
in MDCFontScheme
new property: headline6
in MDCFontScheme
new property: button
in MDCBasicFontScheme
new property: headline1
in MDCBasicFontScheme
new property: headline5
in MDCBasicFontScheme
new property: body1
in MDCBasicFontScheme
new property: subtitle2
in MDCBasicFontScheme
new property: headline2
in MDCBasicFontScheme
new property: body2
in MDCBasicFontScheme
new property: overline
in MDCBasicFontScheme
new property: headline6
in MDCBasicFontScheme
new property: subtitle1
in MDCBasicFontScheme
new class: MDCBasicFontScheme
new property: headline4
in MDCBasicFontScheme
new property: headline3
in MDCBasicFontScheme
new property: caption
in MDCBasicFontScheme
new property: titleFont
in MDCChipView
MDCSlider
supports more UIAppearance customization.MDCActivityIndicator
provides improved support for animation transitions.new property: duration
in MDCActivityIndicatorTransition
new method: -initWithAnimation:
in MDCActivityIndicatorTransition
new class: MDCActivityIndicatorTransition
new property: animation
in MDCActivityIndicatorTransition
new method: -init
in MDCActivityIndicatorTransition
new method: -initWithCoder:
in MDCActivityIndicatorTransition
new property: completion
in MDCActivityIndicatorTransition
new typedef: MDCActivityIndicatorAnimation
new method: -startAnimatingWithTransition:cycleStartIndex:
in MDCActivityIndicator
new method: -stopAnimatingWithTransition:
in MDCActivityIndicator
new property: thumbRadius
in MDCSlider
new property: thumbElevation
in MDCSlider
modified property: trackBackgroundColor
in MDCSlider
Type of change: | Declaration |
---|---|
From: | @property(nonatomic, strong, null_resettable) UIColor *trackBackgroundColor |
To: | @property (readwrite, strong, nonatomic, null_resettable) UIColor *trackBackgroundColor; |
caption
(#2799) (Robert Moore)Podspec now separates out extensions (themers, accessibility additions, etc.) into their own podspec.
If you wish to add a component and all of its extensions, update your Podfile and add “+Extensions” to the component.
To include Activity Indicator and its extensions you would write:
pod 'MaterialComponents/ActivityIndicator+Extensions'
Add NSCoding tests (#2740) (Robert Moore)
Added isPresentable to catalog files, ported over ZShadow to dragons. (#2726) (Yarden Eitan)
Correct itemTitleFont behavior (#2736) (Robert Moore)
new method: -setTitleFont:forState:
in MDCButton
new method: -titleFontForState:
in MDCButton
new property: bodyFont
in MDCFeatureHighlightView
new property: titleFont
in MDCFeatureHighlightView
This major release includes a variety of API name changes. Please see the API changes below for more details.
MDCTextInputControllerDefault
has been removed. Use MDCTextInputControllerUnderline
instead.
modified class: MDCTextInputControllerOutlined
Type of change: | Swift declaration |
---|---|
From: | class MDCTextInputControllerOutlined : MDCTextInputControllerDefault |
To: | class MDCTextInputControllerOutlined : MDCTextInputControllerBase |
modified class: MDCTextInputControllerOutlined
Type of change: | Declaration |
---|---|
From: | @interface MDCTextInputControllerOutlined : MDCTextInputControllerDefault |
To: | @interface MDCTextInputControllerOutlined : MDCTextInputControllerBase |
modified class: MDCTextInputControllerOutlinedTextArea
Type of change: | Swift declaration |
---|---|
From: | class MDCTextInputControllerOutlinedTextArea : MDCTextInputControllerDefault |
To: | class MDCTextInputControllerOutlinedTextArea : MDCTextInputControllerBase |
modified class: MDCTextInputControllerOutlinedTextArea
Type of change: | Declaration |
---|---|
From: | @interface MDCTextInputControllerOutlinedTextArea : MDCTextInputControllerDefault |
To: | @interface MDCTextInputControllerOutlinedTextArea : MDCTextInputControllerBase |
new property: expandsOnOverflow
in MDCTextInputControllerBase
new property: borderFillColorDefault
in MDCTextInputControllerBase
new property: borderFillColor
in MDCTextInputControllerBase
new property: minimumLines
in MDCTextInputControllerBase
new class: MDCTextInputControllerBase
removed property: expandsOnOverflow
in MDCTextInputControllerDefault
removed property: borderFillColor
in MDCTextInputControllerDefault
removed class: MDCTextInputControllerDefault
removed property: borderFillColorDefault
in MDCTextInputControllerDefault
removed property: minimumLines
in MDCTextInputControllerDefault
removed constant: MDCTextInputDefaultUnderlineActiveHeight
modified class: MDCTextInputControllerFilled
Type of change: | Swift declaration |
---|---|
From: | class MDCTextInputControllerFilled : MDCTextInputControllerDefault |
To: | class MDCTextInputControllerFilled : MDCTextInputControllerBase |
modified class: MDCTextInputControllerFilled
Type of change: | Declaration |
---|---|
From: | @interface MDCTextInputControllerFilled : MDCTextInputControllerDefault |
To: | @interface MDCTextInputControllerFilled : MDCTextInputControllerBase |
removed constant: MDCTextInputDefaultBorderRadius
new class: MDCTextInputControllerUnderline
new constant: MDCTextInputControllerBaseDefaultBorderRadius
new property: underlineHeightActiveDefault
in MDCTextInputController
new property: underlineHeightActive
in MDCTextInputController
new property: underlineHeightNormalDefault
in MDCTextInputController
new property: underlineHeightNormal
in MDCTextInputController
new method: -mdc_fontSizedForMaterialTextStyle:scaledForDynamicType:
in UIFont(MaterialTypography)
New MDCChipField API in the Chips component provides an interface through which a user can input a collection of string tokens.
new constant: MDCChipFieldDefaultContentEdgeInsets
new enum value: MDCChipFieldDelimiterReturn
in MDCChipFieldDelimiter
new enum: MDCChipFieldDelimiter
new enum value: MDCChipFieldDelimiterAll
in MDCChipFieldDelimiter
new enum value: MDCChipFieldDelimiterNone
in MDCChipFieldDelimiter
new typedef: MDCChipFieldDelimiter
new enum value: MDCChipFieldDelimiterDefault
in MDCChipFieldDelimiter
new enum value: MDCChipFieldDelimiterSpace
in MDCChipFieldDelimiter
new enum value: MDCChipFieldDelimiterDidEndEditing
in MDCChipFieldDelimiter
new class: MDCChipField
new method: -focusTextFieldForAccessibility
in MDCChipField
new method: -removeSelectedChips
in MDCChipField
new method: -removeChip:
in MDCChipField
new property: contentEdgeInsets
in MDCChipField
new method: -addChip:
in MDCChipField
new property: showPlaceholderWithChips
in MDCChipField
new property: textField
in MDCChipField
new property: minTextFieldWidth
in MDCChipField
new property: chipHeight
in MDCChipField
new method: -deselectAllChips
in MDCChipField
new property: delegate
in MDCChipField
new method: -selectChip:
in MDCChipField
new property: chips
in MDCChipField
new method: -clearTextInput
in MDCChipField
new property: delimiter
in MDCChipField
new method: -chipField:didChangeInput:
in MDCChipFieldDelegate
new protocol: MDCChipFieldDelegate
new method: -chipFieldHeightDidChange:
in MDCChipFieldDelegate
new method: -chipFieldDidBeginEditing:
in MDCChipFieldDelegate
new method: -chipField:didRemoveChip:
in MDCChipFieldDelegate
new method: -chipField:didTapChip:
in MDCChipFieldDelegate
new method: -chipField:shouldAddChip:
in MDCChipFieldDelegate
new method: -chipFieldShouldBecomeFirstResponder:
in MDCChipFieldDelegate
new method: -chipField:didAddChip:
in MDCChipFieldDelegate
new method: -chipFieldShouldReturn:
in MDCChipFieldDelegate
new method: -chipFieldDidEndEditing:
in MDCChipFieldDelegate
new property: shapeGenerator
in MDCChipView
new method: -shadowColorForState:
in MDCChipView
new method: -setShadowColor:forState:
in MDCChipView
new constant: MDCChipFieldDefaultMinTextFieldWidth
new property: mdc_adjustsFontForContentSizeCategory
in MDCFeatureHighlightView
new category: MDCShadowLayer(Subclassing)
new class method: +mdc_standardFontDescriptorForMaterialTextStyle:
in UIFontDescriptor(MaterialTypography)
new class method: +mdc_standardFontForMaterialTextStyle:
in UIFont(MaterialTypography)
MDCFloatingButton updateShapeForcingLayout
(#2625) (Robert Moore)MDCFloatingButtonShapeLargeIcon
has been removed.
// Old code MDCFloatingButton *button = [MDCFloatingButton floatingButtonWithShape:MDCFloatingButtonShapeLargeIcon]; // New code MDCFloatingButton *button = [[MDCFloatingButton alloc] init];
BottomSheet has a variety of new deprecations.
MDCFloatingButton has a new mode property and can now be expanded.
MDCInkView has a new delegate-based API for responding to animation events.
It's now possible to customize fonts on Tabs.
new method: -activityIndicatorModeTransitionDidFinish:
in MDCActivityIndicatorDelegate
deprecated property: mdc_bottomSheetPresentationController
in UIViewController(MaterialBottomSheet)
. Assign an instance of MDCBottomSheetTransition to your view controller's mdm_transitionController.transition instead.
deprecated class: MDCBottomSheetTransitionController
. Assign an instance of MDCBottomSheetTransition to your view controller's mdm_transitionController.transition instead.
deprecated protocol: MDCBottomSheetPresentationControllerDelegate
. This API will soon be made private. Use MDCBottomSheetController instead.
deprecated class: MDCBottomSheetPresentationController
. This API will soon be made private. Use MDCBottomSheetController instead.
new method: -setMaximumSize:
in MDCFloatingButton
new property: imageTitleSpace
in MDCFloatingButton
new method: -setContentEdgeInsets:
in MDCFloatingButton
new method: -setMinimumSize:
in MDCFloatingButton
new property: imageLocation
in MDCFloatingButton
new method: -setMinimumSize:forShape:inMode:
in MDCFloatingButton
new property: mode
in MDCFloatingButton
new method: -setHitAreaInsets:forShape:inMode:
in MDCFloatingButton
new method: -setContentEdgeInsets:forShape:inMode:
in MDCFloatingButton
new method: -setHitAreaInsets:
in MDCFloatingButton
new method: -setMaximumSize:forShape:inMode:
in MDCFloatingButton
new enum value: MDCFloatingButtonModeExpanded
in MDCFloatingButtonMode
new enum value: MDCFloatingButtonModeNormal
in MDCFloatingButtonMode
new enum: MDCFloatingButtonMode
removed enum value: MDCFloatingButtonShapeLargeIcon
in MDCFloatingButtonShape
new enum value: MDCFloatingButtonImageLocationLeading
in MDCFloatingButtonImageLocation
new typedef: MDCFloatingButtonImageLocation
new enum: MDCFloatingButtonImageLocation
new enum value: MDCFloatingButtonImageLocationTrailing
in MDCFloatingButtonImageLocation
new property: animationDelegate
in MDCInkView
new method: -inkAnimationDidStart:
in MDCInkViewDelegate
new method: -inkAnimationDidEnd:
in MDCInkViewDelegate
new protocol: MDCInkViewDelegate
new property: selectedItemTitleFont
in MDCTabBar
new property: titleTextTransform
in MDCTabBar
new property: unselectedItemTitleFont
in MDCTabBar
new enum: MDCTabBarTextTransform
new enum value: MDCTabBarTextTransformAutomatic
in MDCTabBarTextTransform
new typedef: MDCTabBarTextTransform
new enum value: MDCTabBarTextTransformUppercase
in MDCTabBarTextTransform
new enum value: MDCTabBarTextTransformNone
in MDCTabBarTextTransform
imageTitleSpace
(#2565) (Robert Moore)new class: MDCDialogTransition
.
breaking changed property signature: MDCInkView
's inkColor
from null_resettable
to nonnull
.
new property: usesLegacyInkRipple
.
breaking MDCSnackbarMessage
's public APIs have all been annotated with nullability annotations.
new class: MDCIntrinsicHeightTextView
.
changed property signature: MDCMultilineTextField
's textView changed from UITextView
to MDCIntrinsicHeightTextView
.
MDCAnimationTimingFunctionStandard
, MDCAnimationTimingFunctionDeceleration
, and MDCAnimationTimingFunctionAcceleration
.MDCBottomSheetTransition
.New property: -selectionIndicatorTemplate
.
New class: MDCTabBarIndicatorAttributes
.
New protocol: MDCTabBarIndicatorContext
.
New Protocol: MDCTabBarIndicatorTemplate
.
New class: MDCTabBarUnderlineIndicatorTemplate
.
MDCColorScheme
now conforms to NSObject
.trackingScrollView
property to support better dragging.[MDCTabBar defaultHeightForBarPosition:itemAppearance:]
.MDCAnimationTimingFunctionSharp
timing function from the spec.MDCBottomNavigationBarDelegate
with controls on selecting items.minimumSize
and maximumSize
properties.injectedInkViewForView
convenience function to find an ink view in a view hierarchy.disabledColor
property.MDCMultilineTextField
expandsOnOverflow
and placeholder
text properties.MDCTextInput
expandsOnOverflow
property is no longer IBInspectable.No code changes. Added a missing dependency to the BottomNavigation component found after the 38.1.0 release was published.
MDCTextInput.cursorColor
controls the color of the blinking cursor (in the text).None for this release.
titleTextAttributes
uses a dictionary with keys of type NSAttributedStringKey
instead of NSString *
so, for example, .font
should be used intead of NSAttributedStringKey.font.rawValue
.[MDCTextFieldPositioningDelegate textInputDidUpdateConstraints]
, called after the input's updateConstraints
.MDCTextInputControllerDefault
's floatingPlaceholderDestination
property is replaced with floatingPlaceholderOffset
and is a UIOffset
, not CGPoint
.minMaxHeightIncludesSafeArea
to inform the component if the minimumHeight
and maximumHeight
properties include the safe area inset.-[MDCTabBarControllerDelegate tabBarController:shouldSelectViewController:]
and -[MDCTabBarControllerDelegate tabBarController:didSelectViewController:]
will be called for the currently-selected tab if the user taps the tab again (that is, the tab doesn‘t change). This matches Apple’s behavior more closely and allows for custom behaviors.MDCMultilineTextField
now has a MDCMultilineTextInputDelegate
for useful methods not included in UITextViewDelegate.placeholderText
property to control the placeholder text.MDCShadowElevation
type insetad of raw CGFloats.MDCShadowElevation
typedef for shadow elevation values instead of raw CGFloats.MDCTextInputController
:inlinePlaceholderFont
, inlinePlaceholderFontDefault
, leadingUnderlineLabelFont,
leadingUnderlineLabelFontDefault`.MDCTextInputControllerFilled
, MDCTextInputControllerOutlined
, MDCTextInputControllerOutlinedTextArea
.MDCTextField.clearButtonMode
now supports UIAppearance.new
with alloc init
to match the style guide. (#2033) (Adrian Secord)[MDCPageControl sizeForNumberOfPages:]
method changed from instance method to class method (Cody Weaver)[MDCTextInputControllerDefault floatingPlaceholderColor]
renamed to floatingPlaceholderNormalColor
, similarly floatingPlaceholderColorDefault
and the same for MDCTextInputControllerLegacyDefault
.None.
Hotfix: Fixes Feature Highlight configuration.
*Legacy*
classes.Renaming changes in preparation for a new text field style coming soon. No functional or visual changes to the text fields.
MDCTextInputControllerDefault
was renamed to MDCTextInputControllerLegacyDefault
.MDCTextInputControllerFullWidth
was renamed to MDCTextInputControllerLegacyFullWidth
.MDCTextInputController
properties activeColor
, disabledColor
, normalColor
, and associated default colors.MDCTextInputController
properties underlineColorActive
, underlineColorNormal
, and associated default colors.MDCTextInputUnderlineView
properties disabledUnderline
and underline
in favor of color
and disabledColor
.scripts/generate_jazzy_yamls.sh
for new components. (#1766) (Adrian Secord)scripts/generate_jazzy_yamls.sh
for new components. (#1766) (Adrian Secord)scripts/generate_jazzy_yamls.sh
for new components. (#1766) (Adrian Secord)Hotfix release: fixes autolayout bug involving TextFields height.
No changes to code or docs, only updating metadata for generating https://material.io/components/ios/.
MDCMultilineTextField
, a Material Design-themed mutiline text field (multiline text input).[MDCTextFieldPositioningDelegate sizeThatFits:defaultSize:]
has been removed, see [MDCTextFieldPositioningDelegate textInsets:]
instead.MDCMultilineTextInput.minimumLines
and .expandsOnOverflow
properties.typeof
and the ?:
operator (#1601) (Robert Moore)typeof
and the ?:
operator (#1601) (Robert Moore)typeof
and the ?:
operator (#1601) (Robert Moore)typeof
and the ?:
operator (#1601) (Robert Moore)typeof
and the ?:
operator (#1601) (Robert Moore)typeof
and the ?:
operator (#1601) (Robert Moore)typeof
and the ?:
operator (#1601) (Robert Moore)typeof
and the ?:
operator (#1601) (Robert Moore)typeof
and the ?:
operator (#1601) (Robert Moore)typeof
and the ?:
operator (#1601) (Robert Moore)Hotfix: Cherry picked: [Buttons] Call designated initializer in init methods
Hotfix: Added implementation for accessibilityElementForItem: for MDCTabBar
Hotfix: Fixed missing bump of version numbers.
Hotfix: Added missing dependencies in our podspec from ColorThemer subspecs to Component subspecs.
Fixed podspec
Made MDCFeatureHighlightView public with two properties: innerHighlightColor and outerHighlightColor.
Make [MDCCollectionViewController cellWidthAtSectionIndex:] public.
No change in public APIs.
No change in public APIs.
Add kSelectedCellAccessibilityHintKey
Add kDeselectedCellAccessibilityHintKey
Add [MDCTypography boldItalicFontOfSize:]
Add [MDCTypography boldFontFromFont:]
Add [MDCTypography italicFontFromFont:]
Add [MDCTypography isLargeForContrastRatios]
Given the usage of clients on versions of iOS below 8.0 and the increased power of the APIs available to us on iOS 8, our minimum iOS version is bumped from iOS 7 to 8.
Tab component with MDCTabBar (#1164) is an implementation of the Material tabs used to explore and switch between different views. Try tabs out! (Brian Moore with Will Larche)
-[MDCInkTouchController initWithView:]
changed from nullable instancetype
to nonnull instancetype
.MDCProgressViewBackwardAnimationMode
enumeration and -[MDCProgressView backwardProgressAnimationMode]
to control how the progress view acts when its progress value is set to a smaller value than the current value.This point release changes certain podfiles and instructions to refer to the published pod up at CocoaPods.
This point release removes the examples from private/ThumbTrack
; they didn't follow our normal conventions and was confusing pod try
.
This point release fixes stale references to MDFFontDiskLoader, MDFSpritedAnimationView, and MDFRobotoFontLoader in our CocoaPods podspec.
None.
The following components have been refactored out of MDC into their own repos:
Please note that while MDC's repo is private, there is no way for MDFRobotoFontLoader to formally depend on MDCTypographyFontLoading, even though it informally implements the protocol. This means that MDFRobotoFontLoader can't be used out of the box to configure Typography with Roboto. Once we go public, a pull request to MDFFontDiskLoader will be created to add this convenience. Until that time, you can manually extend your local copy of MDFRobotoFontLoader to declare that it implements MDCTypographyFontLoading.
modified property: shadowMaskEnabled
in MDCShadowLayer
Type of change: | declaration |
---|---|
From: | @property (assign, readwrite, nonatomic) BOOL shadowMaskEnabled; |
To: | @property (getter=isShadowMaskEnabled, assign, readwrite, nonatomic) BOOL shadowMaskEnabled; |
modified method: -buttonBar:viewForItem:layoutHints:
in MDCButtonBarDelegate
Type of change: | swift declaration |
---|---|
From: | func buttonBar(_ buttonBar: MDCButtonBar!, viewForItem barButtonItem: Any!, layoutHints: Any!) -> Any! |
To: | func buttonBar(_ buttonBar: MDCButtonBar, viewForItem barButtonItem: Any!, layoutHints: Any!) -> Any! |
modified method: -buttonBar:viewForItem:layoutHints:
in MDCButtonBarDelegate
Type of change: | declaration |
---|---|
From: | - (UIView *)buttonBar:(MDCButtonBar *)buttonBar viewForItem:(UIBarButtonItem *)barButtonItem layoutHints:(MDCBarButtonItemLayoutHints)layoutHints; |
To: | - (nonnull UIView *)buttonBar:(nonnull MDCButtonBar *)buttonBar viewForItem:(nonnull UIBarButtonItem *)barButtonItem layoutHints:(MDCBarButtonItemLayoutHints)layoutHints; |
modified property: items
in MDCButtonBar
Type of change: | declaration |
---|---|
From: | @property (readwrite, copy, nonatomic) NSArray<UIBarButtonItem *> *items; |
To: | @property (readwrite, copy, nonatomic, nullable) NSArray<UIBarButtonItem *> *items; |
new method: -updateTopLayoutGuide
in MDCFlexibleHeaderViewController
modified class: MDCFontDiskLoader
Type of change: | key.deprecation_message |
---|---|
From: | `` |
To: | Use https://github.com/material-foundation/material-font-disk-loader-ios instead. |
modified class: MDCFontDiskLoader
Type of change: | key.always_deprecated |
---|---|
From: | 0 |
To: | 1 |
modified class: MDCRobotoFontLoader
Type of change: | key.deprecation_message |
---|---|
From: | `` |
To: | Use https://github.com/material-foundation/material-roboto-font-loader-ios instead. |
modified class: MDCRobotoFontLoader
Type of change: | key.always_deprecated |
---|---|
From: | 0 |
To: | 1 |
modified class: MDCSpritedAnimationView
Type of change: | key.deprecation_message |
---|---|
From: | `` |
To: | Use https://github.com/material-foundation/material-sprited-animation-view-ios instead. |
modified class: MDCSpritedAnimationView
Type of change: | key.always_deprecated |
---|---|
From: | 0 |
To: | 1 |
MDCFlexibleHeaderView
is now marked IB_DESIGNABLE
.MDCSwitch
is completely deprecated and will be removed in the next release. We recommend apps use UISwitch instead.scripts/check_components
(#946) (Adrian Secord)scripts/check_components
(#946) (Adrian Secord)scripts/check_components
(#946) (Adrian Secord)scripts/check_components
(#946) (Adrian Secord)No public API or component changes.
Added missing components/private/Application/src/MaterialApplication.h umbrella header.
No public API changes in this release. Note that the 17.0.0 release was not published to CocoaPods, so if you are updating from 16.3.0 you will see the breaking change from 17.0.0.
The behavior of MDCSnackbar has been changed to better match the spec:
modified method: -setBackgroundColor:
in MDCButton
Type of change: | key.deprecation_message |
---|---|
From: | Use setBackgroundColor:forState: instead. |
To: | |
modified method: -setBackgroundColor:
in MDCButton
Type of change: | key.always_unavailable |
---|---|
From: | 0 |
To: | 1 |
modified method: -setBackgroundColor:
in MDCButton
Type of change: | key.always_deprecated |
---|---|
From: | 1 |
To: | 0 |
modified method: -setBackgroundColor:
in MDCButton
Type of change: | declaration |
---|---|
From: | - (void)setBackgroundColor:(nullable UIColor *)backgroundColor __deprecated_msg("Use setBackgroundColor:forState: instead."); |
To: | - (void)setBackgroundColor:(nullable UIColor *)backgroundColor; |
new property: editingSelectorColor
in MDCCollectionViewCell
MDCInkTouchController.inkView
Auto-generated by running:
scripts/api_diff -o 203562553800ed3d3b5eebfd1dd76cda875d833c -n f8e2c8b5e87d0414f6b08f691949ecebfaca41b8
MDCInkGestureRecognizer
. From private/MDCInkGestureRecognizer.h to MDCInkGestureRecognizer.h.MDCNavigationBar.titleAlignment
MDCNavigationBarTitleAlignmentCenter
MDCNavigationBarTitleAlignmentLeading
MDCNavigationBarTitleAlignment
MDCNavigationBar.textAlignment
. Use titleAlignment instead.Auto-generated by running:
scripts/api_diff -o 1926458f491c928adfb573a6eda38b6d5b5bc55e -n c39811a2344114302327b6fa64d86346bacbea9a
MDCDialogPresentationController.dismissOnBackgroundTap
UIViewController (MaterialDialogs)
UIViewController.mdc_dialogPresentationController
MDCSwitch
. Removed NSCoding. Added NSSecureCoding.Auto-generated by running:
scripts/api_diff -o 52692216832dc446ae2471bd2f42a40cd8746bbe -n 9ecf191c8d5fa6d8afc7ba119f4cb0ebe926483c
-[MDCFontDiskLoader initWithName:URL:]
-[MDCFontDiskLoader registerFont]
-[MDCFontDiskLoader setFontName:]
-[MDCFontDiskLoader unregisterFont]
MDCFontDiskLoader.hasFailedRegistration
MDCFontDiskLoader.isRegistered
Auto-generated by running:
scripts/api_diff -o fb77a9716a80ba4ee2a9f92a81a89335570366e3 -n 8fa99ffb150b99597f19783d54203ff77a4219d2
-[MDCFontDiskLoader initWithName:URL:]
. Use initWithFontName:fontURL: instead.-[MDCFontDiskLoader registerFont]
. Use load instead.-[MDCFontDiskLoader setFontName:]
. Create a new instance if you need to specifiy a different font name.-[MDCFontDiskLoader unregisterFont]
. Use unload instead.MDCFontDiskLoader.hasFailedRegistration
. Use loadFailed instead.MDCFontDiskLoader.isRegistered
. Use loaded instead.Auto-generated by running:
scripts/api_diff -o 51fbbacdf98a1f086cdbf6210f849c8133e91183 -n dd3d2622f6935e70854d3ccb72677b09e19e045a
-[MDCFontDiskLoader initWithFontName:fontURL:]
-[MDCFontDiskLoader load]
-[MDCFontDiskLoader unload]
MDCFontDiskLoader.loadFailed
MDCFontDiskLoader.loaded
MDCFontDiskLoader.fontName
. Removed strong. Added readonly, copy.MDCFontDiskLoader.fontURL
. Removed strong, nullable. Added copy, nonnull.-[MDCFontDiskLoader setFontName:]
.@property (nonatomic, strong, nonnull) NSString *fontName - (void)setFontName:(nonnull NSString *)fontName
+[MDCRobotoFontLoader sharedInstance]
.+ (nonnull instancetype)sharedInstance + (nonnull MDCRobotoFontLoader *)sharedInstance
Auto-generated by running:
scripts/api_diff -o 6b00b97156fcd8ed5a661c736df6b363cf4c8457 -n 9ef47c149996f078e5f6a4ed3474688e187ab573
Auto-generated by running:
scripts/api_diff -o 5d7ad466b9e1429ad6242272958b149ded34da63 -n 205b1b49fd311af9246133e1499007dec0957e4b
New component.
Auto-generated by running:
scripts/api_diff -o 313365e03bc6f74f43910264ee31d1e2721db36b -n e66a70dc0cd3bb40eb0f4ff3d5867bafba20db3a
No public API changes detected.
Hotfix for Xcode 8.0 beta 3 (8S174q) compilation.
Auto-generated by running:
scripts/api_diff -o 50ed805a58529c8cd3a0bfe56a9b99937134ad2c -n e8dbfebbb20f3d1314b5396e6cc1f76f9d23beb2
No public API changes detected.
Auto-generated by running:
scripts/api_diff -o 0c7bda2e69db44668360b89e3403a7ad9e16c3aa -n 10e4a258fa529178d1aa6ae8962193eb18b43d20
+[MDCAlertAction actionWithTitle:handler:]
+[MDCAlertController alertControllerWithTitle:message:]
-[MDCAlertController addAction:]
MDCActionHandler
MDCAlertAction.title
MDCAlertAction
MDCAlertController.actions
MDCAlertController.message
MDCAlertController.title
MDCAlertController
-[MDCSpritedAnimationView startAnimatingWithCompletion:]
.- (void)startAnimatingWithCompletion:(nullable void (^)())completion - (void)startAnimatingWithCompletion:(nullable void (^)(BOOL))completion
isTracking
UIControl method (Max Luzuriaga)isTracking
UIControl method (Max Luzuriaga)Auto-generated by running:
scripts/api_diff -o c6523eae8e811b1c89d94073b9153a03390b1950 -n edab0db4908985cd0b56003b4341d5f064f98d6a
New component.
Auto-generated by running:
scripts/api_diff -o ec923edf948c5c0ef8cef52f3a3b26a21cbf29d9 -n 34f12cf42f45e30bada83ff6c4c67d5104201a00
No public API changes detected.
New component.
Auto-generated by running:
scripts/api_diff -o bdc034da8700a9cbd6064823dc045b511d622f8c -n f9f6d8e87d6cdaf884ac2d3ad462403bdb2fd008
No public API changes detected.
Auto-generated by running:
scripts/api_diff -o e4b240934cbf7211790e0929c73652dbd7c2f46f -n 55a289f0cfeebdc10931243d613d4cf5bcef3986
From | To | Kind |
---|---|---|
Required | Optional | optional |
MDCButtonBar.layoutDirection
MDCButtonBar.items
From | To | Kind |
---|---|---|
@property (nonatomic, copy) NSArray *items | @property (nonatomic, copy) NSArray<UIBarButtonItem *> *items | declaration |
-[MDCCollectionViewStyling indexPathsForInlaidItems]
.- (nullable NSArray *)indexPathsForInlaidItems - (nullable NSArray<NSIndexPath *> *)indexPathsForInlaidItems
MDCNavigationBar.layoutDirection
MDCNavigationBar.leadingBarButtonItems
From | To | Kind |
---|---|---|
@property (nonatomic, copy, nullable) NSArray *leadingBarButtonItems | @property (nonatomic, copy, nullable) NSArray<UIBarButtonItem *> *leadingBarButtonItems | declaration |
MDCNavigationBar.leftBarButtonItems
From | To | Kind |
---|---|---|
@property (nonatomic, copy, nullable) NSArray *leftBarButtonItems | @property (nonatomic, copy, nullable) NSArray<UIBarButtonItem *> *leftBarButtonItems | declaration |
MDCNavigationBar.rightBarButtonItems
From | To | Kind |
---|---|---|
@property (nonatomic, copy, nullable) NSArray *rightBarButtonItems | @property (nonatomic, copy, nullable) NSArray<UIBarButtonItem *> *rightBarButtonItems | declaration |
MDCNavigationBar.trailingBarButtonItems
From | To | Kind |
---|---|---|
@property (nonatomic, copy, nullable) NSArray *trailingBarButtonItems | @property (nonatomic, copy, nullable) NSArray<UIBarButtonItem *> *trailingBarButtonItems | declaration |
From | To | Kind |
---|---|---|
@property (nonatomic, copy, nullable) NSArray *leftBarButtonItems | @property (nonatomic, copy, nullable) NSArray<UIBarButtonItem *> *leftBarButtonItems | declaration |
From | To | Kind |
---|---|---|
@property (nonatomic, copy, nullable) NSArray *rightBarButtonItems | @property (nonatomic, copy, nullable) NSArray<UIBarButtonItem *> *rightBarButtonItems | declaration |
New component.
New component.
arc lint --everything
. Again. (Adrian Secord)arc lint --everything
. Again. (Adrian Secord)arc lint --everything
. Again. (Adrian Secord)arc lint --everything
. Again. (Adrian Secord)arc lint --everything
. Again. (Adrian Secord)arc lint --everything
. Again. (Adrian Secord)arc lint --everything
. Again. (Adrian Secord)arc lint --everything
. Again. (Adrian Secord)arc lint --everything
. Again. (Adrian Secord)Auto-generated by running:
scripts/api_diff -o 5cea05817470a3fd906dc3663aff5628491e3224 -n 914490127624d9526f24a497021efffddcf3d567
No public API changes detected.
Auto-generated by running:
scripts/api_diff -o a33f87199b2f4e29e35f0b93c75d60520742d5aa -n 0b277c9ff00628400b291d2e6900ff6389b27ecf
-[MDCFontDiskLoader setHasFailedRegistration:]
-[MDCFontDiskLoader setIsRegistered:]
+[MDCPalette paletteWithTints:accents:]
-[MDCPalette initWithTints:accents:]
MDCPaletteAccent100Name
MDCPaletteAccent200Name
MDCPaletteAccent400Name
MDCPaletteAccent700Name
MDCPaletteTint100Name
MDCPaletteTint200Name
MDCPaletteTint300Name
MDCPaletteTint400Name
MDCPaletteTint500Name
MDCPaletteTint50Name
MDCPaletteTint600Name
MDCPaletteTint700Name
MDCPaletteTint800Name
MDCPaletteTint900Name
Auto-generated by running:
scripts/api_diff -o dc74cd290f327e950eab32b48f3105c55972fad9 -n d4a3ac376f5c8498cfb52401f4fbb69d2e318897
New component.
-[MDCFontDiskLoader unregisterFont]
MDCFontDiskLoader.hasFailedRegistration
. Deprecated setter.MDCFontDiskLoader.isRegistered
. Deprecated setter.MDCFontDiskLoader
.Added NSCopying.
Material Components for iOS now requires Cocoapods 1.0.0.
Auto-generated by running:
scripts/api_diff -o 0c97c7e25888d9da312c8610e21aa635cf9fb395 -n 1fc92b09a8539cf235667c4b2fb83c0f52578d65
-[MDCRobotoFontLoader init]
Auto-generated by running:
scripts/api_diff -o cdbe7e499d85c320c41f31e51cd7cf29c3afed48 -n 636df09ea57a7cdefdacad3f53277c76df968f72
MDCNavigationBar.hidesBackButton
MDCNavigationBar.layoutDirection
MDCNavigationBar.leadingBarButtonItem
MDCNavigationBar.leadingBarButtonItems
MDCNavigationBar.leadingItemsSupplementBackButton
MDCNavigationBar.leftBarButtonItem
MDCNavigationBar.leftBarButtonItems
MDCNavigationBar.leftItemsSupplementBackButton
MDCNavigationBar.rightBarButtonItem
MDCNavigationBar.rightBarButtonItems
MDCNavigationBar.title
MDCNavigationBar.trailingBarButtonItem
MDCNavigationBar.trailingBarButtonItems
MDCNavigationBar
. Removed MDCUINavigationItemObservables.Auto-generated by running the following while checked out at 4bc99e8ad0fe0ac7e9acc044591a8581165fb5c2
:
scripts/api_diff -o 2153f8fa453ecec4dfe48a328e331846d5d37aac -n bbabb375953fbd01c3f818ac9092b55fe56dd9b9
-[MDCAppBarContainerViewController headerViewController]
MDCAppBarContainerViewController ()
-[MDCButtonBar reloadButtonViews]
MDCButtonBar ()
MDCButtonBar.buttonItems
MDCButtonBar.delegate
MDCButtonBar (Builder)
. From MDCButtonBar.h to private/MDCButtonBar+Private.h.MDCNavigationBar ()
MDCNavigationBar.leftButtonBarDelegate
MDCNavigationBar.rightButtonBarDelegate
MDCUINavigationItemKVO
Auto-generated by running:
scripts/api_diff -o d2f436fdcfa711da5a8a077b42feb052c1abdf9e -n 6c8ca274056aed6850920f6010b47655c67730c9
MDCAppBarAddViews()
MDCAppBarParenting.headerStackView
MDCAppBarParenting.headerViewController
MDCAppBarParenting.navigationBar
MDCAppBarParenting
MDCAppBarPrepareParent()
MDCButtonBar.layoutPosition
MDCButtonBarLayoutPositionLeft
MDCButtonBarLayoutPositionNone
MDCButtonBarLayoutPositionRight
MDCButtonBarLayoutPosition
-[MDCCollectionViewController collectionView:didHighlightItemAtIndexPath:]
-[MDCCollectionViewController collectionView:didUnhighlightItemAtIndexPath:]
-[MDCCollectionViewController collectionView:shouldHighlightItemAtIndexPath:]
-[MDCCollectionViewStylingDelegate collectionView:inkColorAtIndexPath:]
-[MDCCollectionViewEditingDelegate collectionView:didDeleteItemsAtIndexPaths:]
From | To | Kind |
---|---|---|
- (void)collectionView:(nonnull UICollectionView *)collectionView didDeleteItemsAtIndexPaths:(nonnull NSArray *)indexPaths | - (void)collectionView:(nonnull UICollectionView *)collectionView didDeleteItemsAtIndexPaths:(nonnull NSArray<NSIndexPath *> *)indexPaths | declaration |
From | To | Kind |
---|---|---|
- (void)collectionView:(nonnull UICollectionView *)collectionView willDeleteItemsAtIndexPaths:(nonnull NSArray *)indexPaths | - (void)collectionView:(nonnull UICollectionView *)collectionView willDeleteItemsAtIndexPaths:(nonnull NSArray<NSIndexPath *> *)indexPaths | declaration |
From | To | Kind |
---|---|---|
- (void)collectionView:(nonnull UICollectionView *)collectionView didApplyInlayToItemAtIndexPaths:(nonnull NSArray *)indexPaths | - (void)collectionView:(nonnull UICollectionView *)collectionView didApplyInlayToItemAtIndexPaths:(nonnull NSArray<NSIndexPath *> *)indexPaths | declaration |
From | To | Kind |
---|---|---|
- (void)collectionView:(nonnull UICollectionView *)collectionView didRemoveInlayFromItemAtIndexPaths:(nonnull NSArray *)indexPaths | - (void)collectionView:(nonnull UICollectionView *)collectionView didRemoveInlayFromItemAtIndexPaths:(nonnull NSArray<NSIndexPath *> *)indexPaths | declaration |
New component.
Auto-generated by running:
scripts/api_diff -o da19cc89a5bb91c94480aee818d2f0ac52410e1c -n bac6ea73c709e95ac88f202ca6c02e1ab88e91f5
MDCSwitch.offImage
MDCSwitch.onImage
MDCTypographyFontLoader
Auto-generated by running:
scripts/api_diff -o 037551fa3b17c25f6546d290e41f747e3713bc4f -n 4b6b0a414e599af1fe3a29bba66af8e04ba67b4d
No public API changes.
Auto-generated by running:
scripts/api_diff -o 55afa3aaef67799bdb8a94881f31c5c3b242e9a6 -n fe1ac2f14b7ad4179c84b01590df9c93289f2e36
New component.
New component.
New component.
MDCPageControl
. Added UIScrollViewDelegate.Auto-generated by running:
scripts/api_diff -o 1542251633905c3c2089b38f1c01a5010a8894f1 -n 789beeb556aab8b4aeddb71fa837d7db8c4660d7
MDCFontResource
Auto-generated by running:
scripts/api_diff -o 11959487eb429c37b382c521a1c469eac96ed0da -n 7cc87bd6d90ed2c641212339f00f67b08fb76314
+[MDCFloatingButton floatingButtonWithShape:]
MDCButton.inkMaxRippleRadius
MDCButton.inkStyle
MDCButton.underlyingColorHint
MDCButton.uppercaseTitle
+[MDCFloatingButton buttonWithShape:]
. Use floatingButtonWithShape: instead.MDCButton.shouldCapitalizeTitle
. Use uppercaseTitle instead.MDCButton.underlyingColor
. Use underlyingColorHint instead.MDCFlexibleHeaderContentImportanceDefault
MDCFlexibleHeaderContentImportanceHigh
MDCFlexibleHeaderContentImportance
MDCFlexibleHeaderView.headerContentImportance
MDCFlexibleHeaderView.shadowLayer
. Removed retain. Added strong.-[MDCInkView evaporateToPoint:completion:]
-[MDCInkView evaporateWithCompletion:]
-[MDCInkView reset]
-[MDCInkView spreadFromPoint:completion:]
MDCInkView.clipsRippleToBounds
MDCInkView.fillsBackgroundOnSpread
MDCInkView.gravitatesInk
-[MDCInkTouchController inkViewAtTouchLocation:]
MDCInkTouchController.defaultInkView
MDCInkTouchController.inkView
. To configure ink views before display, use defaultInkView or your delegate's inkTouchController:inkViewAtTouchLocation:. To find an ink view at a particular location, use inkViewAtTouchLocation: instead.MDCRobotoFontLoader
. Added MDCTypographyFontLoading.MDCScrollViewDelegateCombining
. This component is now available at https://github.com/google/GOSScrollViewDelegateMultiplexer.MDCScrollViewDelegateMultiplexer
. This component is now available at https://github.com/google/GOSScrollViewDelegateMultiplexer.Auto-generated by running:
scripts/api_diff -o ddb35150fe10c2974b63d1e29c4ecce4ccaa51fb -n ad904b8748ce469af886b2f27172d8e3c44928e8
-[MDCAppBar addSubviewsToParent]
MDCAppBar.headerStackView
MDCAppBar.headerViewController
MDCAppBar.navigationBar
MDCAppBarContainerViewController.appBar
MDCAppBar
-[MDCAppBarContainerViewController headerViewController]
Use appBar.headerViewController instead.MDCAppBarAddViews()
. Please create an instance of MDCAppBar instead.MDCAppBarParenting.headerStackView
. Please create an instance of MDCAppBar instead.MDCAppBarParenting.headerViewController
. Please create an instance of MDCAppBar instead.MDCAppBarParenting.navigationBar
. Please create an instance of MDCAppBar instead.MDCAppBarParenting
. Please create an instance of MDCAppBar instead.MDCAppBarPrepareParent()
. Please create an instance of MDCAppBar instead.-[MDCFlexibleHeaderView shiftHeaderOffScreenAnimated:]
MDCFlexibleHeaderView.shiftBehavior
MDCFlexibleHeaderView.behavior
Use shiftBehavior instead.MDCFlexibleHeaderView.contentView
Please register views directly to the flexible header.arc lint --everything --apply-patches
(Jeff Verkoeyen)arc lint --everything --apply-patches
(Jeff Verkoeyen)arc lint --everything --apply-patches
(Jeff Verkoeyen)arc lint --everything --apply-patches
(Jeff Verkoeyen)arc lint --everything --apply-patches
(Jeff Verkoeyen)arc lint --everything --apply-patches
(Jeff Verkoeyen)arc lint --everything --apply-patches
(Jeff Verkoeyen)arc lint --everything --apply-patches
(Jeff Verkoeyen)contentView!
to contentView
. This will be made apparent at build time.-[MDCFlexibleHeaderViewController addFlexibleHeaderViewToParentViewControllerView]
, MDCFlexibleHeaderParentViewController
, and +[MDCFlexibleHeaderViewController addToParent:]
. These methods were marked deprecated in 1.0.0. Jeff VerkoeyenComponents
Documentation
[Conventions] Moved all docs assets into a docs/assets
directory per component by convention. Issue #130 filed by peterfriese. Closed by Jeff Verkoeyen
[CONTRIBUTING] Document our file system conventions in CONTRIBUTING.md. Jeff Verkoeyen
[CONTRIBUTING] Document our pull request expectations in CONTRIBUTING.md. Jeff Verkoeyen
[Switch] Removed internal docs that were pretending to be public docs. Jeff Verkoeyen
Catalog
Demos
Misc
arc lint --everything
.Enable line length warnings in arc lint. Jeff Verkoeyen
Added script to run pod install on all pods. Randall Li
Fix build breakage in MDCCatalog.
[FlexibleHeader] Removed redundant APIs from MDCFlexibleHeaderContainerViewController. Jeff Verkoeyen
Increasing our warnings coverage. Jeff Verkoeyen
shadowIntensity
property, use setShadowLayer:intensityDidChangeBlock: instead. Jeff VerkoeyeninkTouchControllerShouldProcessInkTouches:
to inkTouchController:shouldProcessInkTouchesAtTouchLocation:
. Chris CoxThis is a template. When cutting a new release, rename “master” to the release number and create a new, empty “Master” section.