Skip to content

A button that squishes when pressed. As seen in the Clips app.

License

Notifications You must be signed in to change notification settings

BalestraPatrick/SquishButton

Repository files navigation

CocoaPods CocoaPods Carthage License Platform Twitter: @BalestraPatrick

Inspired by the new Clips app record button, SquishButton is a UIButton subclass that implements the same design and behavior.

Usage

Use it as every other UIButton object and customize it to suit your needs. These are the public properties that SquishButton adds:

/// The number of pixels to scale the inner rectangle.
open var scaling = CGFloat(10)

/// The duration of the animation when the button is in the highlighted state.
open var animationDuration = 0.15

/// The color of the inner rectangle.
open var color = UIColor(red: 244.0/255.0, green: 51.0/255.0, blue: 50.0/255.0, alpha: 1.0)

/// The inset between the outer border and inner rectangle.
open var innerInset = CGFloat(5)

Requirements

iOS 8.3 and Swift 3.2.

If you are using Swift 4, please use the swift4 branch.

Installation

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

pod 'SquishButton'

You can also use Carthage if you prefer. Add this line to your Cartfile.

github "BalestraPatrick/SquishButton"

Author

I'm Patrick Balestra. Email: me@patrickbalestra.com Twitter: @BalestraPatrick.

License

SquishButton is available under the MIT license. See the LICENSE file for more info.