- July 26, 2025
- Mins Read
This control is inspired on this Creative Dash dribbble:
Use tags to fit your Swift version:
Swift 3 => 1.4
Swift 2.3 => 1.3
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.
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.
Just copy the OnOffButton.swift
into your project.
After the installation, you can use it straight in code or with xib/storyboard.
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
}
}
Set the UIButton
class to use OnOffButton
:
Configure the properties as you want:
Create an IBAction
:
@IBAction func changeButtonState(sender: OnOffButton) {
sender.checked = !sender.checked
}
Profit 😉
NavigationKit is a lightweight library which makes SwiftUI navigation super easy to use. 💻 Installation 📦 Swift Package Manager Using Swift Package Manager, add ...
An alternative SwiftUI NavigationView implementing classic stack-based navigation giving also some more control on animations and programmatic navigation. NavigationStack Installation ...
With SwiftUI Router you can power your SwiftUI app with path-based routing. By utilizing a path-based system, navigation in your app becomes ...
This package takes SwiftUI's familiar and powerful NavigationStack API and gives it superpowers, allowing you to use the same API not just ...