BeauNouvelle / Simplecheckbox
Programming Languages
Projects that are alternatives of or similar to Simplecheckbox
SimpleCheckbox aims to accomplish what other ios checkbox controls haven't. To be simple. There's no animations, no IBDesignable to slow down interface builder, and no performance heavy draw methods.
🎉 Features
📒 Documentation
⚖️ Carefully tuned default values.
✅ Requirements
- Xcode 11
- iOS 10+
- Swift 5.1
👨💻 Installation
Manual
Just drag Checkbox.swift into your project to start using it.
Carthage
- Add
github "BeauNouvelle/SimpleCheckbox"
to yourCartfile
.
You can learn more about Carthage and get help setting it up here.
Cocoapods
- Add pod
SimpleCheckbox
to your pod file. - Add
import SimpleCheckbox
to the top of your files in where you wish to use it.
Swift Package Manager
- Add
https://github.com/BeauNouvelle/SimpleCheckbox.git
to your package file.
👩🍳 Usage
You can create a new Checkbox either programatically:
let checkbox = Checkbox(frame: CGRect(x: 50, y: 50, width: 25, height: 25))
Or using interface builder by dragging a UIView
into your view controller and assigning its class to Checkbox
.
After hooking up an outlet you can begin customization.
👩🎨 Customization
Border
Border Color
checkbox.checkedBorderColor = .blue
checkbox.uncheckedBorderColor = .black
Border Style
checkbox.borderStyle = .circle
checkbox.borderStyle = .square
Checkmark
Checkmark Color
checkbox.checkmarkColor = .blue
Checkmark Style
checkbox.checkmarkStyle = .circle
checkbox.checkmarkStyle = .square
checkbox.checkmarkStyle = .cross
checkbox.checkmarkStyle = .tick
Haptic Feedback
checkbox.useHapticFeedback = true
Events
There are two methods for detecting when a tap event has occured and the isChecked
property has changed.
Add Target
checkbox.addTarget(self, action: #selector(checkboxValueChanged(sender:)), for: .valueChanged)
.......
@objc func checkboxValueChanged(sender: Checkbox) {
print("checkbox value change: \(sender.isChecked)")
}
Closure
checkbox.valueChanged = { (isChecked) in
print("checkbox is checked: \(isChecked)")
}
Touch Area
Checkboxs can sometimes appear smaller than their UIButton and UISwitch counterparts which can make them difficult to activate.
SimpleCheckbox has a way for you to tune the touch raduis to extend beyond its frame. Setting increasedTouchRadius will increase the touch radius by that amount.
checkbox.increasedTouchRadius = 5 // Default
🎩 Fancy Alternatives
Cocoapods
I'm unable to continue supporting cocoapods with this project as I no longer have access the email account that was registered with this pod. All attempts to contact the cocoapods team to claim SimpleCheckbox pod have been ignored.