Голосовая доступность UITableView подпредставлений
У меня сейчас есть UITableViewController
и я добавляю UIDatePicker
как подпредставление следующим образом:
self.datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 200, 200, 200)];
self.datePicker.datePickerMode = UIDatePickerModeTime;
[self.tableview addSubview:self.datePicker];
который побежал в viewDidLoad
,
Проблема в том, что UIDatePicker
не отображается как доступный элемент и не считывает текущую дату и время с включенным VoiceOver. Я пытался отключить accessibilityElementsHidden
настройка tableview, но это также отключает доступность subview. По сути, если я могу отключить доступность UITableView, когда выбран UIDatePicker, то он будет работать.
Примечание. UITableViewCells не перекрывают UIDatePicker.
1 ответ
UITableView
не предназначен для добавления подпредставлений непосредственно к нему. Он реализует UIAccessibilityContainer
неофициальный протокол и предоставляет элементы доступности для пользователей VoiceOver, координируя с делегатом табличного представления.
Чтобы решить эту проблему, вместо добавления подпредставлений непосредственно в табличное представление, добавьте свое представление выбора в ячейку contentView
верхний / нижний колонтитул таблицы или верхний / нижний колонтитул таблицы.
Для получения дополнительной информации см. Расширение доступности табличных представлений.