blob: ec74d675ee28e3d325b625ecf9a9d3d78c51608d [file] [log] [blame] [view]
# Component Documentation
Material Components for iOS (MDC-iOS) help developers execute [Material Design](https://material.io). Developed by a core team of engineers and UX designers at Google, these components enable a reliable development workflow to build beautiful and functional iOS apps.
Material Components for iOS are written in Objective-C and support Swift and Interface Builder.
Some Material components are intentionally not made available on iOS because
you should use native components on Apple's platforms instead. This includes
checkboxes, radio buttons, and switches (use UISwitch and UITableView instead)
and data tables and image lists (use UITableView / UICollectionView instead).
If a component is missing and not listed above, you can file a feature request
via https://github.com/material-components/material-components-ios/issues/new?assignees=&labels=&template=Feature_request.md
<a name="components"></a>
<!--{: .jumplink }-->
## Components
- [**ActivityIndicator**
A circular rotating indicator for showing indeterminate or determinate progress.
](ActivityIndicator/)
<!--{: .icon-activityindicator }-->
- [**AnimationTiming**
Animation timing easing curves create smooth and consistent motion.
](AnimationTiming/)
<!--{: .icon-animationtiming }-->
- [**AppBar**
A flexible navigation bar, designed to provide a typical Material navigation experience.
](AppBar/)
<!--{: .icon-appbar }-->
- [**ButtonBar**
A view that facilitates the creation and layout of a horizontally-aligned list of buttons.
](ButtonBar/)
<!--{: .icon-buttonbar }-->
- [**Buttons**
Material buttons, including a flat button, a raised button and a floating action button.
](Buttons/)
<!--{: .icon-buttons }-->
- [**CollectionCells**
Collection view cell classes that adhere to Material layout and styling.
](CollectionCells/)
<!--{: .icon-collections }-->
- [**CollectionLayoutAttributes**
Allows passing layout attributes to the cells and supplementary views.
](CollectionLayoutAttributes/)
<!--{: .icon-collections }-->
- [**Collections**
Collection view classes that adhere to Material layout and styling.
](Collections/)
<!--{: .icon-collections }-->
- [**Dialogs**
A presentation controller that will display a Material modal dialog.
](Dialogs/)
<!--{: .icon-dialogs }-->
- [**FeatureHighlight**
Highlights a part of the screen in order to draw users' attention.
](FeatureHighlight/)
<!--{: .icon-featurehighlight }-->
- [**FlexibleHeader**
A container view whose height and vertical offset react to UIScrollViewDelegate events.
](FlexibleHeader/)
<!--{: .icon-flexibleheader }-->
- [**HeaderStackView**
A view that coordinates the layout of two vertically-stacked bar views.
](HeaderStackView/)
<!--{: .icon-headerstackview }-->
- [**Ink**
A visual ripple of ink expanding outward from the users touch.
](Ink/)
<!--{: .icon-ink }-->
- [**NavigationBar**
A view composed of a left and right Button Bar and either a title label or a custom title view.
](NavigationBar/)
<!--{: .icon-navigationbar }-->
- [**OverlayWindow**
A window for managing sets of overlay views.
](OverlayWindow/)
- [**PageControl**
A drop-in Material replacement for UIPageControl.
](PageControl/)
<!--{: .icon-pagecontrol }-->
- [**Palettes**
Reference colors from Material palettes.
](Palettes/)
<!--{: .icon-palette }-->
- [**ProgressView**
A determinate and linear progress indicator that implements Material animation and layout.
](ProgressView/)
<!--{: .icon-progressview }-->
- [**ShadowElevations**
Provides the most commonly used elevations specified in material.
](ShadowElevations/)
<!--{: .icon-shadowelevations }-->
- [**ShadowLayer**
A shadow which uses Material principles for visualizing depth.
](ShadowLayer/)
<!--{: .icon-shadowlayer }-->
- [**Slider**
A Material control for selecting from a range of values.
](Slider/)
<!--{: .icon-slider }-->
- [**Snackbar**
A brief dismissible feedback message.
](Snackbar/)
<!--{: .icon-snackbar }-->
- [**Tabs**
A material tab bar for switching between grouped content.
](Tabs/)
<!--{: .icon-tabs }-->
- [**Typography**
Text styles for Material fonts and opacities.
](Typography/)
<!--{: .icon-typography }-->
- - -
## Useful Links
- [How To Use MDC-iOS](../docs/)
- [Demo Apps](../demos/)
- [Contributing](../contributing/)
- [MDC-iOS on Stack Overflow](https://www.stackoverflow.com/questions/tagged/material-components+ios) (external site)
- [Material.io](https://material.io) (external site)
- [Material Design Guidelines](https://material.io/guidelines) (external site)