adjusting label to slider value swift

烂漫一生 提交于 2019-11-30 11:14:29
MMT

Update the slider value in Main queue

@IBAction func sliderValueChanged(sender: UISlider) {
    var currentValue = Int(sender.value)
    println("Slider changing to \(currentValue) ?")
    dispatch_async(dispatch_get_main_queue(){
        sliderVal.text = "\(currentValue) Km"
    })
}

I hope this is helpful to you.

try this

    var currentValue = Int(slider.value)
    println("Slider changing to \(currentValue) ?")
    startTime.text = "\(currentValue) Km"

class ViewController: UIViewController {

@IBOutlet weak var imgView: UIImageView!
@IBOutlet weak var slideroutlet: UISlider!
@IBOutlet weak var lblValue: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()

}

@IBAction func slider(_ sender: Any) {

    lblValue.text = String(slideroutlet.value)
    imgView.alpha = CGFloat(slideroutlet.value)
}

If you want to do it programmatically, this is one way.

var slider: UISlider()
var label: UILabel()

func numberValueChanged(sender: UISlider) {
    slider.setValue(Float(Int(slider.value)), animated: true)
    updateLabels(slider.value)
}
fun updateLabels(nV: Float?) {
    if let v = nV {
        self.label.text = "\(v)"
    }
}

slider.addTarget (self,
                 action: #selector(numberValueChanged)
                 forControlEvents: UIControlEvents.ValueChanged
)

Hope this was helpful :)

Swift 3: Select .allEvents for its UIControlEvents.

slider.addTarget(self, action: #selector(ViewController.updateKmsLabel(sender:)), for: .allEvents)
// To use
func updateKmsLabel(sender: UISlider!) {
    let value = Int(sender.value)
    DispatchQueue.main.async {
        self.kmsLabel.text = "\(value)"
        print("Slider value = \(value)")
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!