2013-04-29 2 views
2

У меня есть два вопроса относительно доступности и UICollectionViews, на которых я надеюсь получить некоторую помощь экспертов. Другой вопрос, касающийся порядка чтения голоса, составляет here. Я создал sample project, демонстрируя обе проблемы.Заголовки секции UICollectionView как заголовки доступности

У меня есть UICollectionView, где я предоставляю пользовательские заголовки разделов. Эти заголовки разделов являются элементами доступности и имеют свойство доступности UIAccessibilityTraitHeader. Когда Voice Over включен, и пользователь щелкает по горизонтали через коллекцию, заголовок объявляется правильно, и он даже объявляется как заголовок. Однако, если пользователь переместится вверх или вниз до следующего заголовка, Voice Over перейдет только к другому заголовку, если он будет виден. Я предполагаю, что это происходит потому, что, когда представление не отображается в представлении коллекции, оно удаляется из иерархии представления, а Voice Over больше не знает, что он существует.

Вы можете вытащить this example project, запустить его, включить передачу голоса и использовать циферблат, чтобы установить прокрутку вверх/вниз по заголовкам, чтобы просмотреть проблему.

Есть ли способ, которым я могу позволить пользователю перейти к заголовку, который в настоящее время не отображается? Любая помощь будет принята с благодарностью.

ответ

0

Возможно, вам необходимо использовать свойство scrollToItemAtIndexPath:atScrollPosition:animated:UICollectionView, чтобы прокрутить заголовок в поле зрения, прежде чем VoiceOver сможет его прочитать.

Вы можете узнать, с кем indexPath вы в настоящее время находитесь через indexPathForItemAtPoint:, используя положение, где они касались вида коллекции, и затем вы знаете, какая из секций приходит после.

+0

Я не уверен, что я следую. Я не думаю, что когда Voice Over включен, вы получаете уведомления о нажатии в традиционном стиле; однако я могу подключиться, когда ячейка получает фокус доступности. К сожалению, я не знаю, как определить, когда пользователь перевернул вверх или вниз, чтобы узнать, когда перейти к предыдущему или следующему разделу. Я уверен, что 'accessibilityScroll' является жестом прокрутки с тремя пальцами, а не одним пальцем, который я ищу. –

+0

Я честно не использовал Voice Over достаточно сказать вам. Это должно помочь вам связать мой код с обратным вызовом: http://stackoverflow.com/a/15616144/308315 – iwasrobbed

Смежные вопросы