在iPhone天气应用程序中,当使用VoiceOver时,我注意到第一次点击一个部分,它会宣布该部分.
例如,在iOS 9中,首次点击中间条带上的任何项目将在继续描述您点击的元素之前宣布“每小时预测”.点击条带中的任何其他内容将不会宣布“每小时预测”.
点击底部表格上的任何内容,将在继续描述您点击的元素之前发布“每日预测”.点击此表中的任何其他内容不会以“每日预测”作为前缀.
是否有一个简单的API来命名您应用的各个部分?或者您是否必须通过跟踪配音光标并动态更改标签来手动执行此操作? (这是否有效?在点击某些内容之后但是在读取之前,您是否可以更改accessibilityLabel?)
解决方法
我猜有两种方法:
>对UITableViewCell进行子类化并覆盖accessibilityLabel.
- (NSString *) accessibilityLabel { NSString* voiceOverString; // append section title on voiceOverString and then the elements value return voiceOverString; }
>从Apple docs看这个链接:您可以从cellForRowAtIndexPath设置单元格的AccessibilityLabel.该示例适用于天气应用程序本身.