Material design components (inspired by Google Material Design) for iOS written in Swift
Please feel free to make pull requests.
-
Highly customizable
-
Complete example
-
Supports @IBDesignable to live-render the component in the Interface Builder
-
By supporting @IBInspectable, the class properties can be exposed in the Interface Builder, and you can edit these properties in realtime
-
MKButton: floating action button, raised button, flat button, ripple effect
-
MKTextField: ripple effect, floating placeholder
-
MKTableViewCell
-
MKLabel
-
MKImageView
-
MKLayer
-
MKColor
-
MKActivityIndicator
-
MKRefreshControl
-
MKNavigationBar
- There are 3 types of main buttons:
Floating Action Button
,Raised Button
,Flat Button
- Customizable attributes: color, ripple location, animation timing function, animation duration...
let button = MKButton(frame: CGRect(x: 10, y: 10, width: 100, height: 35))
button.maskEnabled = true
button.rippleLocation = .TapLocation
button.rippleLayerColor = UIColor.MKColor.LightGreen
- Single-line text field
- Floating placeholder
- Ripple Animation
- Customizable attributes: color, ripple location, bottom border, animation timing function, animation duration...
textField.rippleLocation = .Left
textField.floatingPlaceholderEnabled = true
textField.placeholder = "Description"
textField.layer.borderColor = UIColor.MKColor.Green.CGColor
textField.rippleLayerColor = UIColor.MKColor.LightGreen
- Customizable attributes: color, ripple location, animation timing function, animation duration...
var cell = tableView.dequeueReusableCellWithIdentifier("MyCell") as MyCell
cell.rippleLocation = .Center
cell.rippleLayerColor = UIColor.MKColor.Blue
- Customizable attributes: color, height
var refreshControl = MKRefreshControl()
refreshControl.addToScrollView(self.tableView, withRefreshBlock: { () -> Void in
self.tableViewRefresh()
})
refreshControl.beginRefreshing()
-
Customizable attributes: color, ripple location, animation timing function, animation duration...
-
Play ripple animation whenever you want by calling
animateRipple
method or by settinguserInteractionEnabled = true
ripple animation will be played when the label/imageview is tapped -
Easy to customize UIBarButtonItem or UITabBa