hactar / ASIACheckmarkView

Beautifully animated checkmark button, with optional spinning state for API connection usages.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ASIACheckmarkView

Customizable checkmark button view. Allows to easily animate between states, with optional intermediate "Spinning" state - if you want to beautifully morph betweeen two states, but need to wait for API in between. Clean and moder look, along with being easy-to-use. Support Swift 3.0.1.

Screenshots:

Custom style Screenshot

Usage

Add button on storyboard, set its class to ASIACheckmarkView. Check the attributes inspector and play with the values, to get desired effect.

Note, that spinning animation does not work in storyboard IBDesignable.

Custom style Screenshot

Code

Animating state change:

Swift

let checkmark: ASIACheckmarkView

func changeState() {
		let newValue = !checkmark.boolValue // boolValue describes current checkmark state
		checkmark.animate(checked: newValue) // animate to state you want
}

func changeStateWithCompletion() {
		let newValue = !checkmark.boolValue // boolValue describes current checkmark state
		checkmark.animateTo(newValue){
			print("changed state to \(checkmark.boolValue)")
		}
}

@IBAction func changeStateWithSpinner() {
		let newValue = !checkmark.boolValue
		checkmark.animate(checked: newValue) 	// animate to state you want
		checkmark.isSpinning = true       // PLACE THIS AFTER ANIMATE TO CALL!
}

func endSpinning() {
		// OPTIONAL - You might call "checkmark.animate(checked: some_value)" here
		// - if you want to alter state after finishing spinning
		// (Yes -> spinning -> Yes) for example
		checkmark.isSpinning = false
}

Credits

Created by Andrzej Michnia.

Animations design by Asia Michnia

License

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

About

Beautifully animated checkmark button, with optional spinning state for API connection usages.

License:MIT License


Languages

Language:Swift 95.8%Language:Ruby 4.2%