我有一个显示数字的元素(imageView)。 我希望用户上方的语音向上滑动以递增,而向下滑动以递减。 共有六个数字(图像),每个数字在屏幕上显示不同的内容。
为此,我使视图可调:
imageView.accessibilityTraits = .adjustable
我还实现了以下方法:
override func accessibilityIncrement() {
print("increment")
}
override func accessibilityDecrement() {
print("decrement")
}
但是,当我对此进行测试时,Xcode不会进入增量或减量方法内部。
我在做什么错?是否有更好的方法可以使用画外音来增加或减少值?
答案 0 :(得分:1)
我猜您已经在视图控制器中实现了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提供了有关带有代码段和插图的可调值的完整示例。