Я не знаю, поддерживает ли система меню Cocos VoiceOver, но если это не так, вы, вероятно, могли бы добавить нужную вам функцию, не углубляясь в большую работу UIKit
.Все, что вам нужно сделать, это создать подкласс UIView
, который добавляется в главное окно при запуске приложения.Затем используйте протокол UIAccessibilityContainer
и вызовы UIAccessibilityPostNotification
, чтобы пользователи могли взаимодействовать с вашей игрой через VoiceOver.
Протокол UIAccessibilityContainer
позволяет сообщать VoiceOver, какие элементы интерфейса в данный момент находятся на экране, их метки,их черты и т. д. VoiceOver затем использует эту информацию, чтобы позволить пользователям перемещаться между элементами и получать отзывы о них.
Когда ваша игра меняет состояние, вы можете изменить то, что этот протокол отправляет обратно, а затем выдать
UIAccessibilityPostNotification (UIAccessibilityLayoutChangedNotification, nil)
..., чтобы сообщить VoiceOver об изменении макета экрана.А чтобы просто что-то сказать через VoiceOver, скажем, когда состояние вашей игры изменилось, вы можете отправить другое уведомление, чтобы произнести какой-то текст:
UIAccessibilityPostNotification (UIAccessibilityAnnouncementNotification, @ "Достижение разблокировано!");