首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIAccessibilityTrait adjustable未输入increment()或decrement() swift

UIAccessibilityTrait adjustable未输入increment()或decrement() swift
EN

Stack Overflow用户
提问于 2019-06-17 17:39:06
回答 1查看 783关注 0票数 1

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

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

imageView.accessibilityTraits = .adjustable

我还实现了以下方法:

代码语言:javascript
复制
override func accessibilityIncrement() {
    print("increment")
}

override func accessibilityDecrement() {
    print("decrement")
}

但是,当我测试它时,Xcode不会进入增量或减量方法。

我做错了什么?是否有更好的方法来使用voice over递增或递减值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-17 20:27:44

我猜您在视图控制器中实现了accessibilityIncrement()accessibilityDecrement()方法,但它们应该属于创建的图像视图,其特征应该是.adjustable

在这个基本示例中,只需像下面这样创建UIImageView的子类:

代码语言:javascript
复制
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提供了一个关于可调值的完整示例,其中包含代码片段和插图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56628631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档