- May 27, 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”)
]
Light and scrollable view controller for tvOS to present blocks of text Description TvOSTextViewer is a view controller to present ...
TvOSSlider is an implementation of UISlider for tvOS. Description and usage TvOSSlider palliates missing an implementation of UISlider for tvOS as part ...
TvOSScribble, based on CoreML, mitigates the lack of a physical numpad area in Siri Remote implementing a handwriting gesture recognizer. ...
PIN keyboard for tvOS Description TvOSPinKeyboard is a view controller that allows easily asking for PIN codes in tvOs Requirements ...
📺 A tvOS button which truncates long text with '... More'. The TvOSMoreButton is a simple view which aims to ...