Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



62 Commits

Repository files navigation


Version License Platform

Inspired by Google Material Design, written purely in Swift 3.

WYMaterialButton implemented Material Design on iOS and add more dynamic motions, allowing iOS buttons to be more responsive and interactive.

Integrated with Spring animations and enhanced by Facebook's POP, WYMaterialButton is super animated and programmer-friendly. All settings can be customized in storyboard inspector.


WYMaterialButton is available through CocoaPods.

To install via CocoaPods add this lines to your Podfile

pod "WYMaterialButton"

Note: Due to CocoaPods/CocoaPods#4420 issue there is problem with compiling project with Xcode 7.1 and CocoaPods v0.39.0. However there is a temporary workaround for this: Add next lines to the end of your Podfile

post_install do |installer|
    `find Pods -regex 'Pods/pop.*\\.h' -print0 | xargs -0 sed -i '' 's/\\(<\\)pop\\/\\(.*\\)\\(>\\)/\\"\\2\\"/'`

Or download the git repository

git clone

Drag WYMaterialButton related files into your own project, and install facebook's POP via cocoapods

Then import the module in your file

import WYMaterialButton

If you're Objective-C user, please include the header file

#import "WYMaterialButton-Swift.h"


  1. Add a UIButton in the Storyboard of your project.

  2. Subclass the UIbutton as WYMaterialButton in identity inspector.

  3. Select a color as Material Color, the first row in attribute inspector, and let WYMaterialButton do everything else for you. You can also do other setting as well for further customizations.



  • For most cases, Material Color is the only property you need to set. Leave others as default.

  • Pulse Enable enable defautly, which control the bounce effect.

  • With Touch Location Enable enabled defautly, WYMaterialButton tracks your touch location and generate a ripple animation upon that. You can disable to always center the ripple effect on the button.

  • Material Effect Percent speicifies the percentage of area of the button will have material effect when being pressed. Default to 0.8.

  • You can of course access all these properties and more by using codes. For example:

    myButton.materialColor = .blue


  1. Download the repository
git clone
cd WYMaterialButton/Example
  1. Open the workspace
open WYMaterialButton.xcworkspace
  1. Compile and run the app in simulator
  • Under Xcode, press Ctrl + R

Supported OS & SDK Versions

  • Xcode 7
  • iOS 7


Spring: subclass @Mengto's Spring framework for supporting additional animations and quick settings in the button.

POP: Facebook's animation framework for simulating the bounce effect.

Material Design: animation idea and effects come from Google's material design concept.


WYMaterialButton is available under the MIT License, see LICENSE for more infomation.