SimpleCheckbox 旨在完成其他 iOS 复选框控件未能完成的事情。简单。没有任何动画,没有 IBDesignable 慢化界面构建器,也没有性能沉重的绘制方法。
🎉 功能
✅ 要求
- Xcode 11
- iOS 10+
- Swift 5.1
👨💻 安装
手动
只需将 Checkbox.swift 拖放到您的项目中,即可开始使用。
Carthage
- 将
github "BeauNouvelle/SimpleCheckbox"
添加到您的Cartfile
。
您可以在这里了解更多关于 Carthage 的信息并获取设置帮助。
CocoaPods
- 将 pod
SimpleCheckbox
添加到您的 pod 文件中。 - 将
import SimpleCheckbox
添加到您想要使用它的文件顶部。
Swift Package Manager
需要在这个方面提供帮助。
👩🍳 用法
您可以通过编程或使用界面构建器创建新的复选框。
let checkbox = Checkbox(frame: CGRect(x: 50, y: 50, width: 25, height: 25))
或者通过将一个 UIView
拖拽到您的视图控制器中,并将它的类设置为 Checkbox
来实现。
连接上出口之后,您就可以开始自定义了。
👩🎨 自定义
边框
边框颜色
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.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)")
}
触摸区域
复选框有时可能比南京市兵工厂按钮和 UISwitch 的等价物小,这可能会使得激活它们变得困难。
SimpleCheckbox 提供了一种方法,您可以调整触摸半径来超出其框架。设置 increasedTouchRadius 将通过该值增加触摸半径。
checkbox.increasedTouchRadius = 5 // Default
🎩 时尚替代方案
Cocoapods
由于我无法访问与 CocoaPods pod 记录在册的邮箱帐户,我无法继续支持该项目的 CocoaPods。我尝试联系 CocoaPods 团队,请求索取 SimpleCheckbox pod 都被忽略。