2016-04-20 4 views
1

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

У меня есть UICollectionView, где каждая ячейка представляет собой музыкальный ключ и когда пользователь нажимает на него, ноты воспроизводятся, как ожидалось. Тем не менее, у меня есть проблемы с тем, чтобы это работало, как это делает GB. Для объекта UICollectionView я установил accessibilityLabel и установил accessibilityTraits в UIAccessibilityTraitAllowsDirectInteraction. Но это не работает. Он не воспроизводит никаких заметок, когда VoiceOver включен. При первом нажатии VoiceOver выводит на экран любую доступную метку accessibilityLabel, а затем просто подает звуковой сигнал при каждом нажатии.

У меня есть пользовательский UIGestureRecogniser подкласс, который я использую для обнаружения клеточного ключа коллекции. Нужно ли мне делать что-то особенное в этих обстоятельствах?

Любые идеи? Нужно ли мне что-то делать?

ответ

0

Выяснил это. Не уверен, что такое рассуждение.

Вмещает музыкальную клавиатуру UICollectionView в другое представление и делает этот вид доступным с признаком UIAccessibilityTraitAllowsDirectInteraction. Теперь он работает так, как ожидалось.

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