【问题标题】:Swift - label updates with SwiftRangeSliderSwift - 使用 SwiftRangeSlider 进行标签更新
【发布时间】:2017-02-21 17:46:24
【问题描述】:

我正在尝试使用由 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()
}
...

这表明:

我想更新“时间”,即labelForRangeSlider,因为rangeSlider的lowerValue和upperValue发生变化。

【问题讨论】:

  • 您应该在代码和屏幕截图中包含您尝试过的内容,以便其他用户可以轻松了解您的问题并提供帮助。
  • 很抱歉;我修改了。

标签: ios swift rangeslider


【解决方案1】:

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

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)
}

【讨论】:

  • 天哪,我完全错过了 RangeSlider 类继承 UIControl...谢谢您的回答。我不知道有.valueChanged。非常感谢
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    相关资源
    最近更新 更多