【发布时间】:2021-01-14 01:02:51
【问题描述】:
当我物理触摸并拖动滑块时,它的 .valueChanged 事件可以正常工作:
slider.addTarget(self, action: #selector(sliderValueChanged(sender:)), for: .valueChanged
@objc func sliderValueChanged(sender: UISlider) {
print(sender.value)
}
我有另一个四处移动的视图,就像地图上的汽车一样。当汽车水平移动时,会返回一个值,该值使滑块物理移动,这也可以正常工作。但是因为我没有实际拖动滑块,所以它的.valueChanged 不会被调用。
如何在不触摸滑块时以编程方式调用事件?
func carTraveled(distance: Double) {
slider.value = Float(distance) // slider does move but event is never called
}
【问题讨论】: