Я новичок в области специальных возможностей iOS, и я пытаюсь использовать эту функцию UIAccessibilityNotification, но она не работает, как я думал. Я пишу довольно простое приложение всего с одной кнопкой, и когда вы нажимаете кнопку, вызывается этот метод.
- (IBAction)announce:(id)sender {
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification,
@"Speak this out loud");
}
Насколько я понимаю, когда вы нажимаете кнопку, голос за кадром будет читать «Произнесите это вслух», но вместо этого он читает название кнопки. Может ли кто-нибудь сказать мне, что не так с кодом или почему я использую его неправильно?
И чтобы было понятно, я дважды нажал на кнопку. Когда вы один раз нажимаете кнопку, он читает название кнопки и черту («кнопка»), а когда вы дважды нажимаете на нее, он просто читает имя кнопки.
Благодаря ответу @ChrisCM. Поставьте задержку на объявление, это сработает.
@IBAction func announce(sender: AnyObject) {
let dispatchTime: dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, Int64(2 * Double(NSEC_PER_SEC)))
dispatch_after(dispatchTime, dispatch_get_main_queue(), {
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, "Item added to cart")
})
}
Но здесь все еще есть небольшая проблема: после нажатия кнопки «Добавить в корзину» закадровый голос будет нацелен на первый доступный элемент, которым является кнопка «Назад», и будет читать «кнопка «Назад», а затем читать аргумент извещения об объявлении.