Вопрос:
Как добавить пользовательскую доступность VoiceOver
Label
илиHint
в приложение Значок Значок номер?
Например, когда iOS Setting Accessibility > VoiceOver
повернут On
, VoiceOver читает громкие предметы, затронутые на экране. Для значков в App Store и Mail вслух читается следующее:
Значок App Store, VoiceOver говорит: "Магазин приложений. доступно 2 обновления. Дважды нажмите, чтобы открыть."
Значок почты, VoiceOver говорит: "Почта. 1 непрочитанное сообщение. для открытия."
Но, для проекта, над которым я работаю, чтение VoiceOver является общим и не совсем полезным:
Мой значок приложения, VoiceOver говорит: "Мое приложение. 123 новых элемента. открыто".
Фраза "... новые элементы" слишком неопределенная, неточна, и я уверен, что должен быть способ изменить ее с помощью настраиваемой строки, чтобы она лучше читалась с помощью настройки a accessibilityLabel
, accessibilityHint
или что-то подобное.
Но как именно в коде Swift?
Большое спасибо.
Дополнительное наблюдение:
Используя Инспектор доступности специальных возможностей, появляются значения VoiceOver от Label
- "Мое приложение" и Value
- "123 новых элемента". Так что обновленный в коде, который я пробовал, установил accessibilityValue
на что-то пользовательское - "123 custom description.". Но все равно не повезло, VoiceOver продолжает читать "Мои приложения. 123 новые элементы. Дважды нажмите, чтобы открыть."
Почему VoiceOver не читает значение пользовательского значка, как ожидалось?
Код:
В приведенном ниже методе добавлен значок значка значка значка красного знака в значок "Мой приложение":
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let badgeCount: Int = 123
let application = UIApplication.sharedApplication()
if #available(iOS 8.0, *) {
//// iOS 8, iOS 9, iOS 10
application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [.Badge], categories: nil))
} else {
//// iOS 7
}
application.applicationIconBadgeNumber = badgeCount
application.accessibilityValue = "123 custom description."
}
}