| 测试已测试 | ✗ |
| 语言语言 | SwiftSwift |
| 许可证 | MIT |
| 发布时间最后发布 | 2018年1月 |
| SwiftSwift 版本 | 4.0 |
| SPM支持 SPM | ✗ |
由 Toshihiro Suzuki 维护。
基于 UIView 的圆形按钮,带基于 CAShapeLayer 进度线条。
颜色和图标图像可以完全自定义。可以重写或设置首选值。
实际上没有默认的外观,所以请享受其中。
open var defaultImage: UIImage?
open var inProgressImage: UIImage?
open var suspendedImage: UIImage?
open var completedImage: UIImage?
open var inProgressStrokeColor: UIColor?
open var suspendedStrokeColor: UIColor?
open var completedStrokeColor: UIColor?
open var touchedAlpha: CGFloat = 0.5UIImage 的 contentMode 是 .center。请确保您提供正确的图像大小。
state:更新颜色和图标图像progress:更新线条进度reset():同时更新状态和进度即使在暂停时也可以更新进度。
state 是只读的。通过 suspend()、resume()、complete() 和 reset() 来更新。
private var token: CircleProgressButton.DisposeToken?
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
token = button.onTap { state in
switch state {
case .inProgress:
print("suspend")
self.stopJob()
case .completed:
print("delete")
self.stopJob()
case .default:
print("start")
self.resumeJob()
case .suspended:
print("resume")
self.resumeJob()
}
}
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
token?.dispose()
} override func viewDidLoad() {
super.viewDidLoad()
button.tapGesture.rx.event
.subscribe(...)
// ...
}您可以将您的 UIGestureRecognizerDelegate 分配也能使用。
button.tapGesture.delegate = selfMIT