我以编程方式创建了UISlider,并且创建了一个运行加速的操作,我更改了滑块值。这些动作输出slider.value。问题是打印出的值始终为0.即使我移动滑块。 这是代码:Swift - UISlider不更改其值
import UIKit
class EditVC: UIViewController {
var slider : UISlider {
let frame = CGRect(x: 10, y: 85, width: editView.frame.width - 30, height: 20)
let slider = UISlider(frame: frame)
slider.minimumValue = 0
slider.maximumValue = 10
slider.isContinuous = true
slider.addTarget(self, action: #selector(valueChangedFunc), for: .valueChanged)
return slider
}
@objc func valueChangedFunc() {
print(slider.value)
}
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(slider)
}
}
该代码是否正确?你有一个名为'sliderI'的变量,但是稍后你会参考'slider'' – chedabob
当我写这个问题时,这只是一个错字。现在很好,谢谢 –
您已经为'slider'创建了一个只读的计算属性,每次调用它时都会返回一个新的“UISlider”实例。 – chedabob