# AIFlatSwitch A smooth, nice looking and IBDesignable flat design switch for iOS. Can be used instead of UISwitch. Inspired by Creativedash's Dribbble post [here](http://dribbble.com/shots/1631598-On-Off)

Flat switch animation

cocoapods

## Requirements - iOS 8.0+, tvOS 12.0+ - Xcode 11.0+ - Swift 5 ## Usage ### Creating the flat switch - Either programmatically ```swift var flatSwitch = AIFlatSwitch(frame: CGRectMake(0, 0, 50, 50)) ``` - Or in Interface Builder ### Methods > To change its selected state: ```swift flatSwitch.isSelected = true ``` - [x] IBInspectable > or: ```swift flatSwitch.setSelected(true, animated: true) ``` > To listen to its state changes: ```swift @IBAction func handleSwitchValueChange(sender: AnyObject) { if let flatSwitch = sender as? AIFlatSwitch { print(flatSwitch.isSelected) } } ``` > Animation observer callbacks: ```swift flatSwitch.selectionAnimationDidStart = { isSelected in print("New state: \(isSelected)") } flatSwitch.selectionAnimationDidStop = { isSelected in print("State when animation stopped: \(isSelected)") } ``` > Styling the switch: ```swift flatSwitch.lineWidth = 2.0 flatSwitch.strokeColor = UIColor.blue flatSwitch.trailStrokeColor = UIColor.red flatSwitch.backgroundLayerColor = UIColor.red flatSwitch.animatesOnTouch = false ``` - [x] IBInspectable ## Contribution guidelines - Make your changes in your branch - Bump the pod version in AIFlatSwitch.podspec file (e.g. 1.0.1 to 1.0.2) - Make sure the Example project compiles and works fine in the Simulator - Find references to your source code changes in README.md and update them (e.g. method names, changed features) - Create a pull request ## License AIFlatSwitch is released under the MIT license. See LICENSE for details. animated check button, checkmark