Swift - 使用 SwiftRangeSlider 更新标签

Swift - label updates with SwiftRangeSlider

我正在尝试使用由 BrianCorbin 实现的 SwiftRangeSlider: https://github.com/BrianCorbin/SwiftRangeSlider

@IBOutlet weak var labelForRangeSlider: UILabel!

@IBOutlet weak var rangeSlider: RangeSlider!

@IBOutlet weak var submitButton: UIButton!

override func viewDidLayoutSubviews() {
    rangeSlider.updateLayerFrames()
}
...

这表明:

我想更新 "Time",即 labelForRangeSlider,因为 rangeSlider 的 lowerValue 和 upperValue 发生了变化。

您应该为 SwiftRangeSlider 事件 .valueChanged 添加操作:

override func viewDidLoad() {

   super.viewDidLoad()

   let rangeSlider: RangeSlider = RangeSlider(frame: CGRect(x: 0, y: 0, width: 200, height: 60))
   rangeSlider.addTarget(self, action: #selector(self.rangeSliderValueChanged(slider:)), for: UIControlEvents.valueChanged)
   self.view.addSubview(rangeSlider)
}


@IBAction func rangeSliderValueChanged(slider: RangeSlider) {
    print(slider.lowerValue)
}

将下面的 IBAction 连接到故事板中的范围滑块,然后您可以在移动滑块时更改标签。您需要检查滑块的 lowerValueupperValue

@IBAction func rangeSliderValuesChanged(_ rangeSlider: slider) {
    labelForRangeSlider.text "Min: \(slider.lowerValue), Max: (slider.upperValue)")
}