我正在尝试找到一种方法来为我的表视图的标题文本设置accessibilityLabel
。
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
return @"Table View Header";
}
就我而言,我的辅助功能标签与返回的tableview的标题文本不同。
要设置accessibilityLabel
属性,在标题视图本身的定义中编写文本,就像我在下面的代码片段中一样,通过添加辅助功能元素:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
CGRect headerViewFrame = CGRectMake(0.0, 0.0, tableView.frame.size.width, 44.0);
UIView * headerView = [[UIView alloc] initWithFrame:headerViewFrame];
UILabel * headerViewLabel = [[UILabel alloc] initWithFrame:headerViewFrame];
headerViewLabel.text = @"Table View Header";
[headerView addSubview: headerViewLabel];
UIAccessibilityElement * a11yHeader = [[UIAccessibilityElement alloc] initWithAccessibilityContainer:headerView];
a11yHeader.accessibilityFrameInContainerSpace = headerView.frame;
a11yHeader.isAccessibilityElement = YES;
a11yHeader.accessibilityLabel = @"my new header text for accessibility";
a11yHeader.accessibilityTraits = UIAccessibilityTraitHeader;
headerView.accessibilityElements = @[a11yHeader];
return headerView;
}
尝试一下,使其适应您的应用程序。
[返回到ObjC并不容易,但是现在,您可以按照此原理为UITableView标头文本设置accessibilityLabel] >>。 🎉🎊🥳
或者,您也可以使用textLabel
的UITableViewHeaderFooterView
属性。