gpt4 book ai didi

iOS VoiceOver – 在标准 UIView 中实现 “x of y” 读出?

转载 作者:行者123 更新时间:2023-11-29 02:44:26 26 4
gpt4 key购买 nike

在 iOS 中使用 VoiceOver,当查看分段 Controller 之类的东西时,VoiceOver 会读取分段及其索引,即“已选择:某事:4 之 2”。

我有一个包含几个按钮的自定义 UIView 容器,我想在容器中的按钮之间滑动时复制“4 个中的 2 个”行为。

理想情况下,如果可能的话,我希望在不创建自定义 UIView 子类的情况下执行此操作。能实现吗?

最佳答案

您可以通过设置以下accessibilityLabel、accessibilityValue、accessibilityHint 和accessibilityTrait 之一来实现这一点

假设相关按钮的文本是“Blue OK”,并且您想要读取的额外文本是“2 out of 4”

  • 默认情况下,VoiceOver 会朗读:

"Blue OK" - SHORT PAUSE - "Button"


  • accessibilityLabel 设置为“2 out of 4”将导致:

"2 out of 4" - SHORT PAUSE - "Button"


  • accessibilityValue 设置为“4 之 2”将导致:

"Blue OK" - SHORT PAUSE - "2 out of 4" - SHORT PAUSE - "Button"


  • accessibilityHint 设置为“2 out of 4”将导致:

"Blue OK" - SHORT PAUSE - "Button" - LONG PAUSE - "2 out of 4"

请注意,在这种情况下,“2 out of 4”将无法用 2 根手指向下滑动来读取


如果通过为其设置特征将 button.selected 标志设置为 YES,VoiceOver 将宣布对象被选中。如果你想将它显式添加到不支持所选属性的对象,你可以自己添加特征:

//can concatenate multiples ones like so UIAccessibilityTraitButton | UIAccessibilityTraitSelected
mybutton.accessibilityTraits = UIAccessibilityTraitSelected;

这个特征在上面的例子中读取“Button”的地方是一样的:

"Blue OK" - SHORT PAUSE - "Button, Selected"

如果您希望措辞顺序不同,则需要混合和匹配 accessibilityLabel、accessibilityValue、accessibilityHint 和 accessibilityTrait 的值,直到获得您要查找的确切措辞.

关于iOS VoiceOver – 在标准 UIView 中实现 “x of y” 读出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25324873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com