Swift 当我以编程方式创建滑块时,为什么滑块不更新标签?
我以编程方式制作了一个滑块和标签。我希望标签显示滑块的值,但标签仅显示我最初指定的值 代码:Swift 当我以编程方式创建滑块时,为什么滑块不更新标签?,swift,uilabel,uislider,Swift,Uilabel,Uislider,我以编程方式制作了一个滑块和标签。我希望标签显示滑块的值,但标签仅显示我最初指定的值 代码: 当我打印(label.text!)时,它显示label.text随着滑块值的改变而改变。但是,为什么我的视图控制器上的标签没有更改?您必须使用滑块为其创建iAction,如下代码所示: @IBAction func sliderValueChanged(sender: UISlider) { num = sender.value label.text = "\(num)" } 有关更
当我打印(label.text!)时,它显示
label.text
随着滑块值的改变而改变。但是,为什么我的视图控制器上的标签没有更改?您必须使用滑块为其创建iAction
,如下代码所示:
@IBAction func sliderValueChanged(sender: UISlider) {
num = sender.value
label.text = "\(num)"
}
有关更多信息,请参阅教程
更新:
以下是您的完整工作代码:
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)"
}
}
确保已将绑定操作绑定到滑块。。。。 这里num是CGFloat值,sender.value是Float
var num: CGFloat = 9
label.text = "\(num)"
@IBAction func sliderValueChanged(sender: UISlider) {
num = CGFloat(sender.value)
label.text = "\(num)"
}
很抱歉,如果我没有说清楚,但是我创建了slider和label Programmatically,可以通过编程方式将target设置为slider@Amanda like
slider.addTarget(self,action:“sliderValueChanged:”,forControlEvents:.ValueChanged)
…更多信息…请检查以帮助您:)
var num: CGFloat = 9
label.text = "\(num)"
@IBAction func sliderValueChanged(sender: UISlider) {
num = CGFloat(sender.value)
label.text = "\(num)"
}