一般来说,我会查看 Apple 的 UICatalog 示例代码以获取基本的 VoiceOver 支持,但示例代码中似乎有对 UIPickerViews 的 VoiceOver 支持。我是否需要在某处提供accessibilityLabel 方法来添加VoiceOver 支持?我尝试实施UIPickerView AccessibilityDelegate https://developer.apple.com/library/ios/documentation/uikit/reference/UIPickerViewAccessibilityDelegate_Protocol/Introduction/Introduction.html方法,但画外音仅读取我的选择器视图中的标签,而不是向上或向下滑动以更改值的提示。
另外,我的选择器视图设置为 UITextField 的输入视图。所以我不确定这是否相关。
Update:
https://github.com/stevemoser/VoiceOverPicker https://github.com/stevemoser/VoiceOverPicker
我创建了一个示例项目来演示该问题。在示例中显示了一个普通的选择器视图和一个文本字段。还有一个设置为文本字段的输入视图属性的选择器。我似乎无法在使用 VoiceOver 时仅通过点击来激活任一选择器。尽管我可以通过在屏幕上的视图中(向左和向右)滑动来激活其中之一。有任何想法吗?
更新2:
看起来,如果该应用程序是在 iPhone 上运行的 iPhone 应用程序或在 iPad 上运行的 iPad 应用程序,则它可以正常工作,但如果它是在 iPad 上运行的仅 iPhone 应用程序,则点击以选择 UIPickerView 不起作用。
您是否只是使用每行的标题(而不是自定义视图)来做一个普通的 UIPickerView ?如果是这样,那么您不需要做任何事情。
您提到 VoiceOver 正确读取了每行上的标签,因此我们知道 UIPickerView 正确地将 isAccessibilityElement 设置为 YES。它还可以正确读取可访问性标签。
您是否有可能在选择器有机会读取accessibilityHint之前与它进行交互? (为了其他人的利益,accessibilityHint 是 Steve 在他的问题中提到的“用一根手指滑动或向下调整值”。)或者也许某些通知在提示有机会被读取之前正在更改 VoiceOver 焦点?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)