Я пытаюсь сделать UIPickerView моего Voice Over доступным, я заметил, что протокол UIPickerViewAccessibilityDelegate довольно неполный. Он позволяет указывать только метки и подсказки для компонентов pickerView, а не строк в компонентах. (у него также есть ошибка, что его pickerView: accessibilityLabelForComponent: метод не передает UIPickerView * в его параметре pickerView, вместо этого это UIAccessibilityPickerComponent!)Как установить метку доступности голосового доступа для строк UIPickerView?
Так что теперь мне интересно, есть ли вообще способ установить пользовательские метки доступности для строк моего сборщика или можно только считывать фактические значения строк выбора, отображаемые на экране?
Я пытаюсь сделать представление выбора, которое показывает время на нем, часы, минуты, секунды. Я не мог заставить datePicker сделать это. Но было бы неплохо, если бы каждая строка могла в голосе сказать что-то вроде «3 часа», а не просто 3. Если мне нужно установить видимые ярлыки на то, что я хочу, чтобы голос зачитался, я не уверен, что ярлыки будут соответствовать, чтобы показать это, т.е.
15 часов 35 минут 20 секунд
довольно много, чтобы поместиться на экране в английском, не уверен, насколько она будет расти, когда локализованы .. отсюда идеал быть в состоянии установить метки для каждой строки ,
Приветствие
Спасибо за информацию. Наверное, я застрял в данный момент, так как не могу указать метку доступности для компонента, поскольку я описал метод pickerView: accessibilityLabelForComponent: метод не передает UIPickerView * в его параметре pickerView, вместо этого это UIAccessibilityPickerComponent, который является частным API и имеет свойство выбора, которое является правильным выбором. Проблема в том, что у меня есть несколько сборщиков в этом ViewController, поэтому мне нужно определить, какой сборщик я устанавливаю для метки доступности компонента. Я зарегистрировал радиолокационную ошибку об этом. – jimbobuk
Вы можете сказать о дополнительном повторении, хотя спасибо. Если я смогу исправить метки компонентов, возможно, я смогу удалить их. На данный момент я просто установил полные видимые ярлыки на то, что хотел. – jimbobuk
Я хочу повторить, что вы можете вернуть 'UIView' (например,' UILabel') из 'pickerView: viewForRow: forComponent: reusingView:' чей «текст» будет, например. «20» и чья «accessibilityLabel» будет «20 минут».Не нужно, чтобы текст 'UILabel' был« 20 минут »(или для возврата« 20 минут »из' pickerView: titleForRow: forComponent: '). Извините, если я неправильно понял ваш комментарий, и это не так. –