Skip to content
Swift Material Design UIButton
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
git Material Design Button Objective-C Jul 26, 2015


Swift and Objective-C Animated Material Design UIButton

This Swift and Objective-C! UIButton was made inspired in Google new Material Design, and this GIF :]


**You need to add the ZMaterialButtonDelegate to your Controller:**
class ViewController: UIViewController, ZMaterialButtonDelegate {

**To create a Material UIButton init it with frame and set the Zdelegate, a .endPoint (CGPoint) and a .changeToImage (UIImage)**
```swift let containerView = UIView(frame: CGRect(x: 0, y: 200, width: self.view.frame.size.width, height: self.view.frame.size.height-200)) containerView.clipsToBounds = true self.view.addSubview(containerView)

self.button = ZMaterialButton(frame: CGRect(x: 10, y: 40, width: 100, height: 100)) self.button.setImage(UIImage(named: "play"), forState: UIControlState.Normal) self.button.backgroundColor = UIColor(red:0.05, green:0.69, blue:0.79, alpha:1) self.button.endPoint = CGPoint(, y: self.button.changeToImage = UIImage(named: "pause") self.button.Zdelegate = self containerView.addSubview(self.button)

``` obj-c
ZMaterialButton *ZButton = [[ZMaterialButton alloc]initWithFrame:CGRectMake(40, 40, 50, 50)];
    [ZButton setImage:[UIImage imageNamed:@"play"] forState:UIControlStateNormal];
    [ZButton setBackgroundColor:[UIColor redColor]];
    [ZButton setEndAnimationPoint:CGPointMake(,];
    ZButton.changeToImage = [UIImage imageNamed:@"pause"];
    ZButton.expandBy = 20;
    ZButton.originalParentViewColor = [UIColor whiteColor];
    ZButton.delegate = self;
    [self.view addSubview:ZButton];

**Add the delegate function ZMaterialButtonDidExpand() to your controller to know when the button expanded or reduced.**
```swift func ZMaterialButtonDidExpand(button: ZMaterialButton, expanded: Bool){ if expanded == true { self.testButtonExpanded() UIView.animateWithDuration(0.1, delay: 0, options: .CurveEaseOut, animations: { self.fButton.alpha = 1 self.bButton.alpha = 1 }, completion:nil) } else { self.testButtonReduced() UIView.animateWithDuration(0.2, delay: 0, options: .CurveEaseOut, animations: { self.fButton.alpha = 0 self.bButton.alpha = 0 }, completion:nil) } } ```
```obj-c - (void) ZMaterialButtonDidExpandButton:(ZMaterialButton *)button withSuccces:(BOOL)success{ if (success) { NSLog(@"Expanded"); } else { NSLog(@"Reduced"); } } ```

Hope you like it :]

Follow me on Twitter @richzertuche

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.