swift - Why is the slider not updating the label when I make the slider programmatically? -
i made slider , label programmatically. wanted label display value of slider, label displays value assigned.
code:
var num: cgfloat = 9 override func viewdidload() { let label = uilabel(frame: cgrectmake(0, 0, 60, 40)) label.text = "\(num)" self.view.addsubview(label) let slider = uislider(frame:cgrectmake(0, 0, 60, 30)) slider.value = float(num) slider.addtarget(self, action: "changedslidervalue:", forcontrolevents: .valuechanged) self.view.addsubview(slider) } func changedslidervalue(sender: uislider!){ num = cgfloat(sender.value) label.text = "\(num)" }
when did print(label.text!)
, showed me label.text
changing changed slider value. then, why doesn't label change on view controller?
you have create ibaction
slider shown in below code:
@ibaction func slidervaluechanged(sender: uislider) { num = sender.value label.text = "\(num)" }
for more info refer this tutorial.
update:
below complete working code:
import uikit class viewcontroller: uiviewcontroller { var num: cgfloat = 9 let label = uilabel(frame: cgrectmake(0, 0, 60, 40)) override func viewdidload() { super.viewdidload() label.text = "\(num)" self.view.addsubview(label) let slider = uislider(frame:cgrectmake(0, 0, 60, 30)) slider.value = float(num) slider.addtarget(self, action: "changedslidervalue:", forcontrolevents: .valuechanged) self.view.addsubview(slider) } func changedslidervalue(sender: uislider!){ num = cgfloat(sender.value) label.text = "\(num)" } }
Comments
Post a Comment