A button that squishes when pressed. As seen in the Clips app.
Swift Ruby Objective-C
Switch branches/tags
Nothing to show
Latest commit d061065 Apr 10, 2017 @BalestraPatrick BalestraPatrick Try fix Carthage


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.


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)


iOS 8.3 and Swift 3.1.


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"


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


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