多状态切换 UIButton

一个 UIButton 子类,实现了点击切换按钮文本的功能。(类似于相机闪光灯和定时器按钮)

Swift Version Build Status License CocoaPods Compatible
Platform PRs Welcome

用法

只需使用状态创建它,即可开始使用

let toggleButton = MultiToggleButton(image: myImage, states: ["First", "Second", "Last"])

获取和设置当前状态

let state = toggleButton.currentStateIndex
toggleButton.currentStateIndex = 0

添加一个点击动作(除了内置的状态切换功能之外)

toggleButton.action = { (sender) -> () in
    doStuff(sender.currentStateIndex)
}

为不同状态设置不同颜色nil 将使用按钮的 tintColor

toggleButton.colors = [nil, .gray, .red]

为不同状态设置不同图像

toggleButton.images = [myFirstImage, mySecondImage, myLastImage]

或者一次性完成所有设置

let toggleButton = ToggleButton(
    images: [myFirstImage, mySecondImage, myLastImage],
    states: ["First", "Second", "Last"],
    colors: [nil, .gray, .red],
    action: { (sender) -> () in doStuff(sender.currentStateIndex) }
)

安装

CocoaPods

pod 'MultiToggleButton'

旧版本

Swift 版本 MultiToggleButton 版本
4.0 (Xcode 9.4) pod 'MultiToggleButton', '~> 1.7.1'
3 pod 'MultiToggleButton', '~> 1.5.2'
2.3 pod 'MultiToggleButton', '~> 1.4.0'

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/yonat/MultiToggleButton", from: "1.8.8")
]

元信息

@yonatsharon

https://github.com/yonat/MultiToggleButton