【发布时间】:2015-08-18 19:39:10
【问题描述】:
我的 swift 项目中有一个滑块和标签。在情节提要上,我控制将滑块拖到该页面的控制器类上,并创建了一个出口和一个动作。我控制拖动另一个标签作为插座。我正在尝试根据滑块的值更新标签。我不知道我哪里出错了。
代码:
@IBOutlet weak var slider: UISlider!
@IBOutlet weak var sliderVal: UILabel!
@IBAction func sliderValueChanged(sender: UISlider) {
var currentValue = Int(sender.value)
println("Slider changing to \(currentValue) ?")
sliderVal.text = "\(currentValue) Km"
}
我可以在日志中看到正在调用 sliderValueChanged 函数,并且日志正在打印值,但标签的文本没有更新。我做错了什么?
更新:
我只是在我的登录屏幕上放置了一个滑块对象和标签,并使用相同的方法和代码来更改标签文本,它可以工作,但它不会在我的标签栏控制器中工作。这是否说明了问题可能是什么?
【问题讨论】:
-
sliderVal 是否正确链接为 IBOutlet?另外,我假设您是从用户更改滑块值而不是从后台进程调用它?
-
@Chackle 通过正确链接,您到底是什么意思?我控制将 sliderVal 标签拖到我的控制器类并选择了插座选项。当用户更改值时调用它
-
这正是我的意思。我会看看并尝试自己在这里复制这个问题。希望我能提供帮助
-
滑块返回 0 到 1 之间的十进制值,例如 0.623457,将其解析为整数
Int(sender.value)将返回 0 或 1