Я пытаюсь добавить доступность к простому UISlider
.Я прочитал документ , регулируемый Apple, и увидел, что мне нужно реализовать две функции из UIAccessibilityAction protocol
;accessibilityIncrement()
и accessibilityDecrement()
.
Проблема, с которой я столкнулся, заключается в том, что даже если я установил ползунок в качестве элемента доступности в viewDidLoad
и установил slider.accessibilityTraits = .adjustable
, две функции переопределения невызывается, даже если я изменяю значения.
Я также пытался установить slider.accessibilityLabel = "test"
, но он все еще не читает метку.Только как далеко зашел слайдер.Например, «80%».
Есть идеи о том, как я могу сделать эту работу?Я также прочитал эти два сообщения в stackOverflow, но ни один из них не работал для меня. accessibilityIncrement / Decrement не вызывается и Accessibility accessibilityDecrement () не вызывается
Я также могу упомянуть, что я также пытался установить точки останова на accessibilityIncrement()
и accessibilityDecrement()
, но ничего не произошло.
Мой код
override func viewDidLoad() {
super.viewDidLoad()
slider.isAccessibilityElement = true
slider.accessibilityLabel = "test"
slider.accessibilityTraits = .adjustable
}
override func accessibilityIncrement() {
slider.accessibilityValue = textField.text!
}
override func accessibilityDecrement() {
slider.accessibilityValue = textField.text!
}
@IBAction func sliderValueChanged(_ sender: UISlider) {
guard let unit = question?.unit else { return }
let currentValue = Int(sender.value + 0.5)
textField.text = "\(currentValue) \(unit)"
slider.accessibilityLabel = textField.text!
}