Swift UIAccessibilityTrait可调不输入增量()或减量()

Swift UIAccessibilityTrait可调不输入增量()或减量(),swift,voiceover,uiaccessibility,Swift,Voiceover,Uiaccessibility,我有一个元素(imageView),它显示一个数字。 我希望voice-over用户向上滑动到递增,向下滑动到递减。 总共有六个数字(图像),每个数字在屏幕上显示不同的内容 为此,我将视图设置为可调整: imageView.accessibilityTraits=.adjustable 我还实施了以下方法: override func accessibilityIncrement() { print("increment") } override func accessibilityD

我有一个元素(imageView),它显示一个数字。 我希望voice-over用户向上滑动到递增,向下滑动到递减。 总共有六个数字(图像),每个数字在屏幕上显示不同的内容

为此,我将视图设置为可调整:

imageView.accessibilityTraits=.adjustable

我还实施了以下方法:

override func accessibilityIncrement() {
    print("increment")
}

override func accessibilityDecrement() {
    print("decrement")
}
然而,当我测试这个时,Xcode不会进入递增或递减方法


我做错了什么?是否有更好的方法使用画外音增加或减少值?

我猜您在视图控制器中实现了
AccessibilityCrement()
AccessibilityCrement()
方法,但它们应该属于创建的图像视图,其特征应该是
.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")
    }
}
您只需定义在每个可调整的方法中要做什么,这些方法就可以完成任务


我建议您看看ObjC和Swift在哪里提供了关于可调值的完整示例,其中包含代码片段和插图。

您在哪里实现了这两种可访问性方法?在imageView的superview中,我设置了
imageView.isAccessibilityElement=true