我有一个元素(一个imageView),它显示一个数字。我希望语音用户向上滑动以增加,向下滑动以减少。总共有六个数字(图像),每个数字在屏幕上显示不同的内容。
为此,我将视图设置为可调:
imageView.accessibilityTraits = .adjustable
我还实现了以下方法:
override func accessibilityIncrement() {
print("increment")
}
override func accessibilityDecrement() {
print("decrement")
}但是,当我测试它时,Xcode不会进入增量或减量方法。
我做错了什么?是否有更好的方法来使用voice over递增或递减值?
发布于 2019-06-17 20:27:44
我猜您在视图控制器中实现了accessibilityIncrement()和accessibilityDecrement()方法,但它们应该属于创建的图像视图,其特征应该是.adjustable。
在这个基本示例中,只需像下面这样创建UIImageView的子类:
class MyImageView: UIImageView {
override var isAccessibilityElement: Bool {
get { return true }
set { }
}
override var accessibilityTraits: UIAccessibilityTraits {
get { return .adjustable }
set { }
}
override func accessibilityIncrement() {
print("INCREMENT")
}
override func accessibilityDecrement() {
print("DECREMENT")
}
}您只需定义在每个可调整方法中要做什么,这应该可以完成工作。
我建议你看看this site,它为ObjC和Swift提供了一个关于可调值的完整示例,其中包含代码片段和插图。
https://stackoverflow.com/questions/56628631
复制相似问题