如何让VoiceOver在iOS中宣布章节标签?

在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.该示例适用于天气应用程序本身.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...