Latest 3.2.0
License MIT
Platforms ios 8.0, requires ARC

Carthage compatible
codebeat badge
Build Status
Swift 4.2

Favorite Animated Button written in Swift



  • iOS 8.0+
  • Xcode 9+


For manual instalation, drag Source folder into your project.

os use CocoaPod adding this line to you Podfile:

pod 'FaveButton'

for Carthage users, add this line to you Cartfile

github "xhamr/fave-button"


With storyboard or xib files

1) Create a Button that inherits from FaveButton

2) Add Image for a Normal state

3) Set the IBOutlet delegate property to a subclass of FaveButtonDelegate

4) Optional manipulate porperties to change button settings

@IBInspectable public var normalColor:     UIColor
@IBInspectable public var selectedColor:   UIColor
@IBInspectable public var dotFirstColor:   UIColor
@IBInspectable public var dotSecondColor:  UIColor
@IBInspectable public var circleFromColor: UIColor
@IBInspectable public var circleToColor:   UIColor

5) Optional respond to delegate methods

func faveButton(faveButton: FaveButton, didSelected selected: Bool)    
func faveButtonDotColors(faveButton: FaveButton) -> [DotColors]?     

In Code

let faveButton = FaveButton(
    frame: CGRect(x:200, y:200, width: 44, height: 44),
    faveIconNormal: UIImage(named: "heart")
faveButton.delegate = self

Manipulating dot colors

If you want differents colors for dots like Twitter’s Heart Animation use the delegate method for the button you want.

func faveButtonDotColors(_ faveButton: FaveButton) -> [DotColors]? {
   if faveButton == myFaveButton{
     // return dot colors
   return nil

in FaveButtonDemo you will find a set of color to cause dots appear like this:



FaveButton was inspired by Twitter’s Like Heart Animation within their App


FaveButton is released under the MIT license.

Latest podspec

    "name": "FaveButton",
    "version": "3.2.0",
    "summary": "Twitter's heart like animated button written in Swift",
    "license": "MIT",
    "homepage": "",
    "authors": {
        "Jansel Valentin": "[email protected]"
    "platforms": {
        "ios": "8.0"
    "source": {
        "git": "",
        "tag": "3.2.0"
    "source_files": "Source/**/*.swift",
    "requires_arc": true

Pin It on Pinterest

Share This