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