私はUITableViewControllerを持っていますが、セクションヘッダーをプレーンテキストのようにカスタマイズしようとしています。私は、カスタムヘッダービュー(詳細は後述)にサブビューを追加すると、VoiceOverヘッダーナビゲーションが中断されることがわかりました。カスタムviewForHeaderInSectionにサブビューを追加するとVoiceOverナビゲーションが中断されます
たとえば、次の3つのヘッダーを持つ表があるとします。Header1、Header2、Header3。私は見出しでナビゲートするためにナレーションローターを切り替えることができますし、意図したとおりにすべての作品viewForHeaderInSectionメソッドのカスタム実装なし
。
次のようにviewForHeaderInSectionメソッドを実装すると、Header1からHeader2に移動してHeader2に戻ることができますが、ボイスオーバーではすべてのヘッダーが失われます(「ヘッダーが見つかりません」)。
headerViewにheaderLabelをサブビューとして追加すると、問題が発生することがわかりました。私は隠れたアクセシビリティ要素にheaderLabelを設定しようとしましたが、ボイスオーバーはそれを受け取りませんが、問題は解決しません。
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,tableView.frame.size.width,30)];
UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 0, headerView.frame.size.width-120.0, headerView.frame.size.height)];
headerLabel.textAlignment = UITextAlignmentLeft;
headerLabel.font = [UIFont boldSystemFontOfSize:22];
headerLabel.text = [headersArray objectAtIndex:section];
headerLabel.backgroundColor = [UIColor clearColor];
[headerView addSubview:headerLabel];
return headerView;
}
VoiceOverがこれに対応している理由は何ですか?
ありがとうございました。
、それは素晴らしいことだ – romrom
カスタムセクションのヘッダーを使用しながら、アクセシビリティを改善したい開発者のリストに私を追加します。 –