Специальные возможности в пользовательской отрисовке UITableViewCell - PullRequest
2 голосов
/ 11 мая 2011

UITableViewCells скорость прокрутки резко увеличивается, когда вы делаете пользовательский рисунок, однако, доступность нарушается.Как добавить поддержку доступности в такую ​​ячейку?

Ответы [ 3 ]

2 голосов
/ 20 июня 2011

Вам потребуется самостоятельно установить соответствующую метку accessibilityLabel, если вы используете настраиваемые представления для отображения информации (в данном случае, для рисования ячейки таблицы). В зависимости от того, для какого вида вы выбрали рисование, необходимая метка может быть либо ячейкой таблицы (для подкласса UITableViewCell), либо вашим пользовательским представлением содержимого.

Если вы рисуете сложную информацию в своих пользовательских ячейках, рассмотрите возможность включения всего, что вы можете разумно озвучить, в метке, разделенных запятыми, как описано в руководстве по доступности. То, что включать, обычно является здравым смыслом, но общение с обычным голосовым пользователем может быть действительно полезным, особенно в отношении того, какую часть информации он хочет узнать в первую очередь.

2 голосов
/ 13 января 2012

Старый вопрос, но iOS имеет встроенную поддержку для такого рода доступности.Взгляните на неофициальный протокол UIAccessibilityContainer, который позволит вам определять правки в своем представлении и соответствующим образом маркировать их.Таким образом, если вы рисуете большой X в 0,0 с размером 44x44, вы можете установить для accessibilityLabel для этого прямоугольника значение «Удалить».

0 голосов
/ 11 мая 2011

Я тоже немного в неведении относительно того, что вы пытаетесь спросить.Мне кажется, у вас проблемы с доступом к методам / объектам в вашей пользовательской ячейке.Если у вас есть класс с именем CustomCell, используйте строку типа

CustomCell *cell =  (CustomCell *)[localTableView dequeueReusableCellWithIdentifier:MyIdentifier];

для создания пользовательской ячейки.

Предположим, ваша ячейка содержит несколько меток.Затем вы можете легко получить к ним доступ, используя что-то вроде

[cell.aLabel setText:@"Accessed by load"];

Когда вы пытаетесь получить доступ к методам, например: IBAction при нажатии на кнопку внутри ячейки, вы должны объявить эти методы в своем классе CustomCell(а не в классе вашего табличного представления).После этого свяжите разъем вашей кнопки с разъемом CustomCell.

Примечание. Этот соединитель не обязательно будет принадлежать владельцу файла.Я использую XCode 4 и вижу 3 объекта: File's Owner, First Responder и Custom Cell.Мой IBAction находится в Custom Cell, хотя я привык привязывать его к File's Owner.

Надеюсь, это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...