我以編程方式創建了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