У меня есть 3 ползунков, как показано выше:Программным изменить значение слайдера и обновление этикетки
И когда «Min наконечник» он равен или больше, чем «по умолчанию наконечник», добавить 1 к " Совет по умолчанию ". И та же логика - для подсказки Default to Max.
Итак, до сих пор у меня есть этот код, который работает частично, потому что слайдер подсказки по умолчанию растет в пользовательском интерфейсе, но метка не обновляется, потому что делегат не вызывается.
@IBOutlet weak var minLabel: UILabel!
@IBOutlet weak var defaultLabel: UILabel!
@IBOutlet weak var maxLabel: UILabel!
@IBOutlet weak var minSlider: UISlider!
@IBOutlet weak var defaultSlider: UISlider!
@IBOutlet weak var maxSlider: UISlider!
override func viewDidLoad() {
super.viewDidLoad()
minSlider.addTarget(self, action: #selector(SettingsViewController.minSliderValueChanged(_:)), forControlEvents: UIControlEvents.AllEvents)
defaultSlider.addTarget(self, action: #selector(SettingsViewController.defaultSliderValueChanged(_:)), forControlEvents: UIControlEvents.AllEvents)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func minSliderValueChanged(sender: UISlider) {
let valueMin = Int(minSlider.value)
let valueDefault = Int(defaultSlider.value)
_ = Int(maxSlider.value)
minLabel.text = "Min tip: \(valueMin)%"
if(valueMin >= valueDefault){
defaultSlider.value = Float(valueMin+1)
}
}
@IBAction func defaultSliderValueChanged(sender: UISlider) {
let value = Int(defaultSlider.value)
defaultLabel.text = "Default tip: \(value)%"
}
@IBAction func maxSliderValueChanged(sender: UISlider) {
let value = Int(maxSlider.value)
maxLabel.text = "Max tip: \(value)%"
}
Что мне не хватает?
Спасибо! Это решило одну часть проблемы –