Как вы реализуете протокол UIAccessibility?

"Руководство по программированию специальных возможностей для iOS" гласит:

Другой способ - реализовать метод isAccessibilityElement протокола UIAccessibility в реализации вашего пользовательского подкласса. Следующий фрагмент кода показывает, как это сделать:

Но когда я делаю это, как в следующем коде:

class UITextLayerLabel : UIView, UIAccessibility {

XCode возвращает мне эту ошибку:

 [...] Use of undeclared type 'UIAccessibility'

Чего мне не хватает? Конкретный импорт? Протокол все еще доступен с iOS 10/XCode8?

1 ответ

Решение

Как указано здесь, UIAccessibility это неформальный протокол. Различие между неофициальным протоколом и формальным протоколом см. Здесь.

В основном, нет типа с именем UIAccessibility, На самом деле, UIView уже соответствует UIAccessibility, Чтобы сделать ваш пользовательский вид доступным, просто переопределите свойства и методы, начиная с accessibility,

Итак, когда вам нужно реализовать UIAccessibility? Как указано здесь,

Вы можете использовать UIAccessibilityElement для предоставления информации о значке или текстовом изображении, которые не будут автоматически доступны, поскольку они не наследуются от UIView (или UIControl). Представление, содержащее такие элементы, не являющиеся представлениями, создает экземпляр UIAccessibilityElement для представления каждого элемента, который должен быть доступен.

Другие вопросы по тегам