Skip to content

Latest commit

 

History

History
116 lines (66 loc) · 2.87 KB

README.md

File metadata and controls

116 lines (66 loc) · 2.87 KB

FaveButton

CocoaPods CocoaPods Carthage compatible codebeat badge Build Status

Favorite Animated Button written in Swift

preview

Requirements

  • iOS 8.0+
  • Xcode 7.3

Installation

For manual instalation, drag Source folder into your project.

os use CocoaPod adding this line to you Podfile:

pod 'FaveButton', '~> 1.2.1' swift 2.2

pod 'FaveButton', '~> 2.0.0' swift 3

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

Licence

FaveButton is released under the MIT license.