不使用滑块调用 accessibilityIncrement 和 accessibilityDecrement
accessibilityIncrement and accessibilityDecrement not called with a slider
我正在尝试为简单的 UISlider
添加辅助功能。我阅读了 Apples adjustable document 并发现我需要实现 UIAccessibilityAction protocol
中的两个功能; accessibilityIncrement()
和 accessibilityDecrement()
.
我遇到的问题是,即使我在 viewDidLoad
中将滑块设置为可访问性元素并设置 slider.accessibilityTraits = .adjustable
,即使我更改了这两个覆盖函数也不会被调用值。
我也试过设置slider.accessibilityLabel = "test"
,但还是读不到标签。只有滑块已经走了多远。例如“80%”。
关于如何使这项工作有任何想法吗?我还在 Whosebug 上阅读了这两篇文章,但其中 none 对我有用。 accessibilityIncrement / Decrement not called and Accessibility accessibilityDecrement() not getting called
我还可以提一下,我也尝试在 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!
}
您在视图控制器中实现了 accessibilityIncrement()
和 accessibilityDecrement()
方法,但它们 应该属于创建的滑块 ,其特征应该是 .adjustable
.
我建议您看一下这个 accessibility site,其中为 ObjC 和 Swift.
提供了一个关于可调整值的完整示例以及代码片段和插图
按照此示例将允许使用滑块调用 accessibilityIncrement()
和 accessibilityDecrement()
方法。
我正在尝试为简单的 UISlider
添加辅助功能。我阅读了 Apples adjustable document 并发现我需要实现 UIAccessibilityAction protocol
中的两个功能; accessibilityIncrement()
和 accessibilityDecrement()
.
我遇到的问题是,即使我在 viewDidLoad
中将滑块设置为可访问性元素并设置 slider.accessibilityTraits = .adjustable
,即使我更改了这两个覆盖函数也不会被调用值。
我也试过设置slider.accessibilityLabel = "test"
,但还是读不到标签。只有滑块已经走了多远。例如“80%”。
关于如何使这项工作有任何想法吗?我还在 Whosebug 上阅读了这两篇文章,但其中 none 对我有用。 accessibilityIncrement / Decrement not called and Accessibility accessibilityDecrement() not getting called
我还可以提一下,我也尝试在 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!
}
您在视图控制器中实现了 accessibilityIncrement()
和 accessibilityDecrement()
方法,但它们 应该属于创建的滑块 ,其特征应该是 .adjustable
.
我建议您看一下这个 accessibility site,其中为 ObjC 和 Swift.
提供了一个关于可调整值的完整示例以及代码片段和插图按照此示例将允许使用滑块调用 accessibilityIncrement()
和 accessibilityDecrement()
方法。