测试已测试 | ✗ |
语言语言 | 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.5
UIImage 的 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 = self
MIT