FaveButton is an iOS cute animated like 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
  1. 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: