Ho un UITableViewController e sto tentando di personalizzare le intestazioni di sezione per apparire più come testo normale. Sto scoprendo che quando aggiungo una sottoview all'intestazione personalizzata (dettagliata sotto), si interrompe la navigazione dell'intestazione di VoiceOver.Aggiunta di una visualizzazione secondaria a una vista personalizzataForHeaderInSection interrompe la navigazione di VoiceOver
Ad esempio: Dire che ho una tabella con tre intestazioni: Intestazione1, Intestazione2, Intestazione3.
Senza un'implementazione personalizzata del metodo viewForHeaderInSection, è possibile passare il rotore di voiceover per navigare in base alle intestazioni e tutto funziona come previsto.
Quando implemento il metodo viewForHeaderInSection nel modo seguente posso passare da Header1 a Header2 a Header3 e eseguire il backup su Header2, ma la voce fuori campo perde tutte le intestazioni (dicendo "nessuna intestazione trovata").
Ho trovato il problema si avvia quando aggiungo l'headerLabel come sottoview a headerView. Ho provato a impostare headerLabel su un elemento di accessibilità nascosto in modo che la voce non lo raccolga, ma il problema persiste.
- (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;
}
Qualsiasi idea del perché VoiceOver reagisca in questo modo sarebbe apprezzata.
Grazie.
Sto affrontando gli stessi problemi, sarebbe bello se qualcuno avesse aggiornamenti su quell'argomento – romrom
Aggiungimi alla lista degli sviluppatori che vorrebbero migliorare l'accessibilità usando le intestazioni di sezione personalizzate. –