在我的应用程序中(盲人用户必须可以访问)我有这个场景(它是一个语法练习)
当我在打开 VoiceOver 的设备上尝试它时,首先它会专注于句子的第一部分,所以在那种情况下它会读到“Kesha”,当我向右滑动以阅读下一部分时它会读到第二部分“契约(Contract)因为……”这句话。我想要的是让它在阅读句子的第二部分之前也关注灰色框(即 UIView
元素),以便用户知道那个空框在句子中的位置,但我不知道该怎么做。
我已经尝试过 grayBox.accessibilityLabel = "empty box"
或 grayBox.accessibilityHint = "empty box"
但它只是没有将焦点设置在该 View 上并且它不说话。我还尝试在框中放置一个空的 UILabel
但我在以正确的顺序定位它时遇到了一些问题,我认为这不是正确的方法。有什么建议吗?
最佳答案
在您想要“获得焦点”的 UIView
上,您只需启用可访问性或将其标记为可访问元素,例如:
myGreyView.isAccessibilityElement = true
myGreyView.accessibilityLabel = "A grey box"
myGreyView.accessibilityHint = "this is a secretive box. I don't know what it does"
您还可以在 xcode 界面构建器“Accessibility Enabled”中的 UIView 属性中勾选一个框,我认为它叫做。它还允许您设置标签和提示。
有关更多信息,请参阅此 Apple guide to VoiceOver
关于ios - 辅助功能:专注于一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58700746/