- July 30, 2025
- Mins Read
A UIButton subclass that implements tap-to-toggle button text. (Like the camera flash and timer buttons)
Just create it with the states, and it’s good to go:
let toggleButton = MultiToggleButton(image: myImage, states: [“First”, “Second”, “Last”])
Get and set the current state:
let state = toggleButton.currentStateIndex
toggleButton.currentStateIndex = 0
Add a tap action (in addition to the built-in state toggle):
toggleButton.action = { (sender) -> () in
doStuff(sender.currentStateIndex)
}
Set different colors for different states (nil
uses the button’s tintColor
):
toggleButton.colors = [nil, .gray, .red]
Set different images for different states:
toggleButton.images = [myFirstImage, mySecondImage, myLastImage]
Or do it all at once:
let toggleButton = ToggleButton(
images: [myFirstImage, mySecondImage, myLastImage],
states: [“First”, “Second”, “Last”],
colors: [nil, .gray, .red],
action: { (sender) -> () in doStuff(sender.currentStateIndex) }
)
pod ‘MultiToggleButton’
Legacy versions:
Swift version | MultiToggleButton version |
---|---|
4.0 (Xcode 9.4) | pod 'MultiToggleButton', '~> 1.7.1' |
3 | pod 'MultiToggleButton', '~> 1.5.2' |
2.3 | pod 'MultiToggleButton', '~> 1.4.0' |
dependencies: [
.package(url: “https://github.com/yonat/MultiToggleButton”, from: “1.8.4”)
]
PermissionsSwiftUI displays and handles permissions in SwiftUI. It is largely inspired by SPPermissions. The UI is highly customizable and resembles an Apple style. ...
Introduction PagerTabStripView is the first pager view built in pure SwiftUI. It provides a component to create interactive pager views ...
1. Taking Action When a Property Changes: Property Observers Swift lets you observe and respond to changes in a property’s ...