Я новичок в области специальных возможностей 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")
})
}
Но здесь все еще есть небольшая проблема: после нажатия кнопки "Добавить в корзину" закадровый голос будет нацелен на первый доступный элемент, которым является кнопка "Назад", и будет читать "кнопка "Назад", а затем читать аргумент извещения об объявлении.