Programming language: Objective-C++
License: MIT License
Tags: UI     Button    
Latest version: v2.0.2

WYMaterialButton alternatives and similar libraries

Based on the "Button" category.
Alternatively, view WYMaterialButton alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of WYMaterialButton or a related project?

Add another 'Button' Library



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 https://github.com/yuwang17/WYMaterialButton.git

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. [](./Screenshot/instruction.png)



  • 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 https://github.com/yuwang17/WYMaterialButton.git
cd WYMaterialButton/Example

2) Open the workspace

open WYMaterialButton.xcworkspace

3) 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](LICENSE), see LICENSE for more infomation.

*Note that all licence references and agreements mentioned in the WYMaterialButton README section above are relevant to that project's source code only.