На главном экране, когда вы проводите тремя пальцами для навигации по страницам домашних экранов, обратите внимание, как сфокусированное приложение теряет фокус при смахивании, страница меняется, VoiceOver объявляет новый номер страницы, а затем принудительно фокусирует первое приложение на этой странице. . Есть период времени, когда ничего не сфокусировано. У меня есть аналогичный интерфейс в моем приложении, и мне нужно сделать то же самое.
Прямо сейчас я публикую объявление, чтобы указать номер страницы, а затем программно меняю страницу, но это объявление не успевает завершиться до тех пор, пока VoiceOver автоматически не сфокусирует элемент на новой странице, а затем объявит эту метку. Мое объявление прерывается.
Как запретить VoiceOver автоматически фокусировать элемент при переключении страниц в UIPageViewController
или иным образом добиться желаемого поведения?
РЕДАКТИРОВАТЬ: я вижу, что вы должны публиковать UIAccessibilityPageScrolledNotification
при изменении страницы, и вы можете предоставить строку в качестве аргумента, который VoiceOver объявит, чтобы указать новую позицию страницы. Тем не менее, нет никакого способа узнать, когда это уведомление заканчивается, я не верю, поэтому я не могу принудительно сфокусироваться после того, как оно закончило говорить.