Material, a Graphics Framework for Material Design in Swift
来自: https://github.com/CosmicMind/Material
Welcome to Material
Material is a graphics and animation framework based on Google's Material Design. A major goal in the design of Material is to allow the creativity of others to easily be expressed.
Features
- Fully Configurable UI Components
- Base Material Layers & Material Views To Create New UI Components
- Side Navigation View Controller
- Navigation Bar View
- Material Buttons
- Material Card Views
- Camera / Video Extension With Extensive Functionality
- Layout Library To Simplify AutoLayout
- Animation Extension To Create Intricate Animations
- Complete Material Color Library
- Example Projects
Requirements
- iOS 8.0+
- Xcode 7.2+
Communication
- If you need help , use Stack Overflow . (Tag 'cosmicmind')
- If you'd like to ask a general question , use Stack Overflow .
- If you found a bug , and can provide steps to reliably reproduce it , open an issue.
- If you have a feature request , open an issue.
- If you want to contribute , submit a pull request.
Installation
Embedded frameworks require a minimum deployment target of iOS 8 or OS X Mavericks (10.9).
Visit theInstallation page to learn how to install Material using CocoaPods andCarthage.
Changelog
Material is a growing project and will encounter changes throughout its development. It is recommended that theChangelog be reviewed prior to updating versions.
Examples
- Visit the Examples directory to see example projects using Material.
A Tour
- MaterialColor
- SideNavigationViewController
- NavigationBarView
- TextField
- TextView
- MaterialLayer
- MaterialView
- MaterialPulseView
- FlatButton
- RaisedButton
- FabButton
- CardView
- ImageCardView
- CaptureView
Upcoming
- SearchBarView
- SearchBarViewController
- TabView
- TabViewController
- Scrolling Techniques
- Dialogs
- Snackbar
- ProgressBar (circular and horizontal)
- DatePicker
- TimePicker
- More Examples
MaterialColor
MaterialColor is a complete Material Design color library. It uses base color values that expand to a range of lighter and darker shades, with the addition of accents.
Learn More About MaterialColor
SideNavigationViewController
The SideNavigationViewController is an app wide navigation pattern. It generally provides overall app navigation with other useful items.
Learn More About SideNavigationViewController
NavigationBarView
A NavigationBarView is a fully featured navigation bar that supports orientation changes, background images, title and detail labels, both left and right button sets, and status bar settings.
Learn More About NavigationBarView
TextField
A TextField is an excellent way to improve UX. TextFields offer details that describe the usage and input results of text. For example, when a user enters an incorrect email, it is possible to display an error message under the TextField.
TextView
A TextView is an excellent way to improve UX. TextViews offer details that describe the usage of text. In addition, TextViews may easily match any regular expression pattern in a body of text. Below is an example of the default hashtag pattern matching.
MaterialLayer
MaterialLayer is a lightweight CAShapeLayer used throughout Material. It is designed to easily take shape, depth, and animations.
Learn More About MaterialLayer
MaterialView
MaterialView is the base UIView class used throughout Material. Like MaterialLayer, it is designed to easily take shape, depth, and animations. The major difference is that MaterialView has all the added features of the UIView class.
MaterialPulseView
MaterialPulseView is at the heart of all pulse animations. Any view that subclasses MaterialPulseView instantly inherits the pulse animation with full customizability.
Learn More About MaterialPulseView
FlatButton
A FlatButton is simple, clean, and very effective. Below is an example of a FlatButton in action.
RaisedButton
A RaisedButton is sure to get attention. Take a look at the following animation example.
FabButton
A FabButton is essential to Material Design's overall look. Below showcases its beauty.
CardView
Right out of the box to a fully customizable configuration, CardView always stands out. Take a look at a few examples in action.
Easily remove the pulse animation and add a background image for an entirely new feel.
Adjust the alignment of the UI elements to create different configurations of the CardView.
CardViews are so flexible they create entirely new components by removing all but certain elements. For example, bellow is a button bar by only setting the button values of the CardView.
ImageCardView
Bold and attractive, ImageCardView is the next step from a CardView. Below are some animations to give you an idea of the possibilities the ImageCardView has to offer.
Learn More About ImageCardView
Remove elements, such as details to create a fresh look for your images.
CaptureView
Add a new dimension of interactivity with CaptureView. CaptureView is a fully functional camera that is completely customizable.
License
Copyright (C) 2015 - 2016, Daniel Dahan and CosmicMind, Inc. http://cosmicmind.io . All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
-
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
Neither the name of Material nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.