pop

PopBounceButton

A customizable animated button inspired by the familiar button stack from Tinder

Showing:

Popularity

Downloads/wk

0

GitHub Stars

63

Maintenance

Last Commit

2yrs ago

Contributors

0

Package

Dependencies

1

License

MIT

Categories

Readme

PopBounceButton

Swift-Version CocoaPods license CocoaPods

About

A customizable animated button built with Facebook's Pop animation library. Inspired by the familiar button stack from Tinder.

Features

  • Lightweight and highly customizable
  • Animations for multiple UIControlEvents
  • Pure Swift 4

Example

To run the example project, clone the repo and run the PopBounceButton-Example target.

TinderDemo

MessageButtonExample

Requirements

  • iOS 9.0+
  • Xcode 9.0+
  • Swift 4.0+

Installation

CocoaPods

PopBounceButton is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'PopBounceButton'

Manual

  1. Download and drop the PopBounceButton directory into your project.
  2. Install Facebook's Pop library.

Contributing

  • If you found a bug, open an issue and tag as bug.
  • If you have a feature request, open an issue and tag as feature.
  • If you want to contribute, submit a pull request.
    • In order to submit a pull request, please fork this repo and submit a pull request from your forked repo.
    • Have a detailed message as to what your pull request fixes/enhances/adds.

Quick Start

  1. Add a PopBounceButton to your view.

    let frame = CGRect(origin: .zero, size: CGSize(width: 100, height: 100))
    let button = PopBounceButton(frame: frame)
    view.addSubview(button)
    
  2. Attach a target to your button to handle any events.

    button.addTarget(self, action: #selector(handleTap), for: .touchUpInside)
    
    @objc func handleTap(_ sender: PopBounceButton) {
        //do something
    }
    

Customization

Because PopBounceButton is a subclass of UIButton, it can be customized in the same way. The button's animations can be changed by modifying the following variables exposed by PopBounceButton:

var springBounciness: CGFloat = 19.0
var springSpeed: CGFloat = 10.0
var springVelocity: CGFloat = 6.0

var cancelTapScaleDuration: TimeInterval = 0.3

var longPressScaleFactor: CGFloat = 0.7
var longPressScaleDuration: TimeInterval = 0.1
var minimumPressDuration: TimeInterval = 0.2

Sources

  • Pop: Facebook's iOS animation framework.

Author

Mac Gallagher, jmgallagher36@gmail.com

License

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

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100