Create FUNDING.yml
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):
nil
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:
pod 'MultiToggleButton', '~> 1.7.1'
pod 'MultiToggleButton', '~> 1.5.2'
pod 'MultiToggleButton', '~> 1.4.0'
dependencies: [ .package(url: "https://github.com/yonat/MultiToggleButton", from: "1.8.2") ]
@yonatsharon
https://github.com/yonat/MultiToggleButton
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
Multiple State Toggle UIButton
A UIButton subclass that implements tap-to-toggle button text. (Like the camera flash and timer buttons)
Usage
Just create it with the states, and it’s good to go:
Get and set the current state:
Add a tap action (in addition to the built-in state toggle):
Set different colors for different states (
nil
uses the button’stintColor
):Set different images for different states:
Or do it all at once:
Installation
CocoaPods:
Legacy versions:
pod 'MultiToggleButton', '~> 1.7.1'
pod 'MultiToggleButton', '~> 1.5.2'
pod 'MultiToggleButton', '~> 1.4.0'
Swift Package Manager:
Meta
@yonatsharon
https://github.com/yonat/MultiToggleButton