[英]How to do an action when Eureka Slider is released?
我有一个SliderRow
,我想采取行动,但前提是 slider 已发布。
.onChange
每次用户滑动一点(当然)时都会执行该操作。 .onCellHighlightChanged
不适用于SliderRow
。
.onSliderReleased
的选项会很棒;)
同时我还有其他选择吗?
<<< SliderRow("Barrel") { row in
row.title = "Barrel"
row.value = Float(UserDefaultsManager.Barrel())
row.steps = 19
row.displayValueFor = { row in
return "\(Int(row ?? 0)) bbl"
}
}.cellSetup { cell, row in
cell.imageView?.image = UIImage(systemName: "antenna.radiowaves.left.and.right")
cell.slider.minimumValue = 5
cell.slider.maximumValue = 100
}.onChange { row in
let Barrel = Double(row.value ?? 50)
UserDefaultsManager.set(Barrel: Barrel)
ConnectionManager.reconnect()
}
cell.slider.isContinuous = false
是一半的路,坦克
但它也禁用了 slider 的值更新
所以用户必须“猜测”将设置什么值
让它一起工作
cell.slider.addTarget(self, action: #selector(self.sliderDidEndSliding), for: [.touchUpInside, .touchUpOutside])
和
@objc private func sliderDidEndSliding() {
//do some magic
}
UISlider
中有一个属性isContinuous
来控制行为。
.cellSetup { cell, row in
cell.imageView?.image = UIImage(systemName: "antenna.radiowaves.left.and.right")
cell.slider.minimumValue = 5
cell.slider.maximumValue = 100
cell.slider.isContinuous = false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.