gpt4 book ai didi

ios - UISlider停止改变值

转载 作者:行者123 更新时间:2023-11-30 11:39:16 33 4
gpt4 key购买 nike

我有一个 UISlider,我希望它停在某个值。这不是最大值,而是可以通过编程方式获得的数字。

示例:UISlider 的最大值为 100。停止值为 20。因此,用户不应拖动超过 20。

我的代码:

@IBOutlet weak var precentLbl: UILabel!
@IBOutlet weak var precentSlider: UISlider!

var maxValuePrecent: Float = 20
override func awakeFromNib() {
precentSlider.addTarget(self, action: #selector(self.updateKmsLabel(sender:)), for: .allEvents)
}

// To use
@objc func updateKmsLabel(sender: UISlider!) {
let value = Int(sender.value)
DispatchQueue.main.async {
self.precentLbl.text = String(value) + "%"
}

if Float(value) > maxValuePrecent {
precentSlider.isEnabled = false //don't work
precentSlider.endEditing(true) //don't work
precentSlider.isContinuous = false //don't work
precentSlider.isSelected = false //don't work
}
}

this variant对我没有帮助

最佳答案

试试这个

@objc func updateKmsLabel(sender: UISlider!) {
let value = Int(sender.value)
DispatchQueue.main.async {
self.precentLbl.text = String(value) + "%"
}

if Float(value) >= maxValuePrecent {
precentSlider.isEnabled = false //don't work
DispatchQueue.main.async {
self.precentLbl.text = "\(maxValuePrecent)%"
sender.value = maxValuePrecent
}
}

}

关于ios - UISlider停止改变值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49423443/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com