Warm tip: This article is reproduced from stackoverflow.com, please click
ios swift uislider

How do I add a percent sign to value from UISlider in Swift

发布于 2020-03-27 10:29:48

I want to add a percent sign to the value from a UISlider as a string in a UILabel as you move the slider around in swift.

Here is what I have already tried.

@IBOutlet weak var label2: UILabel!

@IBAction func slider2(_ sender: UISlider) {
    let val1 = String(Int(sender.value))
    label2.text = String(format: "%.2f%%", val1)
}

I was expecting the label to show something like 25.00% and change as you move the slider, but instead it only shows 0.00% even after moving the slider around.

Questioner
J Rock
Viewed
157
rmaddy 2019-07-03 23:52

val1 is a String created from an Int of the slider's float value. Just get rid of val1 and use the slider's value.

@IBAction func slider2(_ sender: UISlider) {
    label2.text = String(format: "%.2f%%", sender.value)
}

Note that it would be better to use NumberFormatter with a numberFormat of .percent instead of using String(format:). This way the value is formatted correctly for the user's locale.