ios - 辅助功能:专注于一个 View

标签 ios swift view focus accessibility

在我的应用程序中(盲人用户必须可以访问)我有这个场景(它是一个语法练习)

enter image description here

当我在打开 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/

相关文章:

ios - 如何从 NSPersistentStoreDidImportUbiquitousChangesNotification 获取插入和更新的对象?

ios - 现代 objective-c 语法

swift - 将反射对象的属性转换回其原始类型

generics - Swift 语言中具有自定义对象的通用类型

ios - 如何在没有按钮的情况下以编程方式显示 SwiftUI View

view - SwiftUI:如何使用计时器在不同位置创建多个 View ?

ios - VoiceOver 不会连续朗读强标签或强调标签

iOS 自定义 UITableViewCell 隐藏顶角溢出

ios - 根据 UIScrollView 的中心点在 UIScrollView 中找到 CGPoint of View

Android:如何更改放置在动态创建的布局中的 ImageButton 的重力