FaveButton 3.2.1

FaveButton 3.2.1

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Dec 2019
SPMSupports SPM

Maintained by Jansel Valentin.



  • By
  • Jansel Valentin

FaveButton

CocoaPods CocoaPods Carthage compatible codebeat badge Build Status Swift 4.2

Favorite Animated Button written in Swift

preview

Requirements

  • iOS 8.0+
  • Xcode 9+

Installation

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"

Usage

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
view.addSubview(faveButton)

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:

preview

Credits

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

License

FaveButton is released under the MIT license.