ios - 如何防止 UIaccessibility 对在 viewforheaderinsection 中创建的控件说 "heading"?

标签 ios uiaccessibility

所以,我有一个 TableView ,在 viewforheaderinsection 中,我创建了一个 View ,以编程方式创建了一些控件,例如按钮和分段控件。我将这些控件添加为 View 的 subview ,然后返回 View 。问题是当辅助功能读取控件时,它会在末尾附加“标题”。它说“按钮”暂停然后说“标题”。我知道我可以将标题 View 转换为单元格以抑制“标题”标注,但这不是一个选项。该项目非常大,需要大量时间将 headerviews 更改为单元格。有没有办法在不将标题 View 更改为单元格的情况下抑制“标题”标注?

最佳答案

你需要实现

-(void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section;

例如

- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
     view.accessibilityTraits = UIAccessibilityTraitNone;
}

在该函数内,将 header 的可访问性特征设置为 UIAccessibilityTraitNone,或者简单地删除 UIAccessibilityTraitHeader。

在里面做

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 

不会有任何好处,因为 iOS 稍后会添加 header 特征。您需要在显示标题之前修改特征。

关于ios - 如何防止 UIaccessibility 对在 viewforheaderinsection 中创建的控件说 "heading"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39149259/

相关文章:

ios - 辅助功能画外音失去了对分段 subview 的关注

ios - 如果我使用 -webkit-overflow-scrolling,Div 滚动有时会卡住

ios - 如何使用多个 XIB 创建 Appcelerator IOS 模块

ios - Xcode 7.1 错误 UIAccessibility 错误

ios - 使用 `accessibilityLabel` 和 `accessibilityHint` 在 iOS 中正确实现 VoiceOver 辅助功能

ios - 有没有办法仅在通过滑动导航时忽略辅助功能元素?

ios - 使用Amazon SDK和存储桶策略将图像从ios应用程序上传到Amazon S3

ios - 在表格被向下拖动之前在 UITableView 中显示滚动条。在某种程度上,UIScrollBar 应该始终可见

ios - Xcode 10 不会创建开发人员签名证书,出现 OSStatus 错误 -2147416032

UICollectionView 中的 iOS 辅助功能 : VoiceOver gets stuck on last cell