Need help with OnOffButton?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

rakaramos
420 Stars 17 Forks MIT License 26 Commits 1 Opened issues

Description

On & Off by Creativedash

Services available

!
?

Need anything else?

Contributors list

# 197,656
Swift
mutatio...
macOS
HTML
10 commits

Custom On/Off Animated UIButton, written in Swift. By Creativedash

Version License Platform

About

This control is inspired on this Creative Dash dribbble: alt tag

Swift Upgrade

Use tags to fit your Swift version:

Swift 3 =>

1.4

Swift 2.3 =>

1.3

Installation

Carthage

Add the following to your Cartfile:

github "rakaramos/OnOffButton"

Then run

carthage update
.

Follow the current instructions in Carthage's README for up to date installation instructions.

CocoaPods

Add the following to your Podfile:

pod 'OnOffButton'

You will also need to make sure you're opting into using frameworks:

use_frameworks!

Then run

pod install
with CocoaPods 0.36 or newer.

Manually

Just copy the

OnOffButton.swift
into your project.

Implementation

After the installation, you can use it straight in code or with xib/storyboard.

In code:

class ViewController: UIViewController {

let onOffButton = OnOffButton()

override func viewDidLoad() {
    super.viewDidLoad()

    onOffButton.frame = CGRect(origin: .zero, size:CGSize(width: 100,height: 100))
    // Adjust properties
    onOffButton.lineWidth = 5
    onOffButton.strokeColor = .whiteColor()
    onOffButton.ringAlpha = 0.3
    onOffButton.addTarget(self, action: #selector(ViewController.didTapOnOffButton), forControlEvents: .TouchUpInside)

    view.addSubview(onOffButton)
}

func didTapOnOffButton() {
    onOffButton.checked = !onOffButton.checked
}

}

Using
@IBDesignables

Set the

UIButton
class to use
OnOffButton
:

alt tag

Configure the properties as you want:

alt tag

Create an

IBAction
:
@IBAction func changeButtonState(sender: OnOffButton) {
    sender.checked = !sender.checked
}

Profit ;)

License

Released under the MIT license. See the LICENSE file for more info.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.