SimpleCheckbox 旨在完成其他 iOS 复选框控件未能实现的目标:简单。它没有动画,没有拖慢界面构建器的 IBDesignable,也没有占用性能的绘图方法。
📒 文档
⚖️ 精心调整的默认值。
只需将 Checkbox.swift 拖入您的项目即可开始使用。
github "BeauNouvelle/SimpleCheckbox"
添加到您的 Cartfile
。您可以在这里了解更多关于 Carthage 的信息,并获取设置帮助。
Podspec 存在,但是由于 SPM 已经推出相当一段时间了,Cocoapods 不再是官方支持的。 SimpleCheckbox 的最新支持版本是 2.2.2
https://github.com/BeauNouvelle/SimpleCheckbox.git
添加到您的 package 文件。您可以通过编程方式创建一个新的 Checkbox
let checkbox = Checkbox(frame: CGRect(x: 50, y: 50, width: 25, height: 25))
或者通过将 UIView
拖入您的视图控制器并将其类分配为 Checkbox
,使用界面构建器。
连接 outlet 后,您可以开始自定义。
checkbox.checkedBorderColor = .blue
checkbox.uncheckedBorderColor = .black
checkbox.borderStyle = .circle
checkbox.borderStyle = .square
checkbox.checkmarkColor = .blue
checkbox.checkmarkStyle = .circle
checkbox.checkmarkStyle = .square
checkbox.checkmarkStyle = .cross
checkbox.checkmarkStyle = .tick
checkbox.emoji = "❌"
注意:设置 emoji 值将导致 simple checkbox 忽略 checkmarkStyle。任何字符串都可以使用,但可能只会显示 1-3 个字符。
checkbox.useHapticFeedback = true
有两种方法可以检测何时发生了点击事件并且 isChecked
属性已更改。
checkbox.addTarget(self, action: #selector(checkboxValueChanged(sender:)), for: .valueChanged)
.......
@objc func checkboxValueChanged(sender: Checkbox) {
print("checkbox value change: \(sender.isChecked)")
}
checkbox.valueChanged = { (isChecked) in
print("checkbox is checked: \(isChecked)")
}
Checkbox 有时看起来比它们的 UIButton 和 UISwitch 同类产品更小,这可能会使它们难以激活。
SimpleCheckbox 提供了一种调整触摸半径的方法,使其超出其框架。设置 increasedTouchRadius 将按该数量增加触摸半径。
checkbox.increasedTouchRadius = 5 // Default