由于 Xcode 错误,我正在以编程方式创建一个滑块(当我更改滑块值时不要让我将拇指居中,所以我决定使用代码来做)并且我想要一个变量来保存滑块值. 有没有办法将变量和目标对象与控件相关联,类似于“addTarget”,但它不是一个动作,而是一个变量?我不知道我是否解释了自己,但告诉我是否需要更具体。提前感谢:)帮助我。
这是我的代码:
import UIKit
class ViewController: UIViewController {
var slider: UISlider!
@IBOutlet weak var sliderVar: UISlider!
var currentSliderValue = 0
override func viewDidLoad() {
super.viewDidLoad()
slider = UISlider(frame: CGRect(x: 98, y: 173, width: 699, height: 30))
slider.center = self.view.center
slider.minimumValue = 1
slider.maximumValue = 100
slider.value = 50
slider.isContinuous = true
slider.addTarget(self, action: #selector(sliderMoved(_:)), for: UIControl.Event.valueChanged)
self.view.addSubview(slider)
}
@IBAction func sliderMoved(_ sender: UISlider) {
currentSliderValue = lroundf(sender.value)
}
}
我的函数“sliderMoved”改变了sliderCurrentValue 变量,但是这个变量在我使用滑块并移动它之前不会改变。我还有一个按钮,当你触摸它时,它会显示滑块值,但“sliderCurrentValue”仅在移动滑块时改变它的值。我正在考虑创建一个 IBOutlet 但我不知道如何将它与滑块连接起来。