问题:
如何向应用添加自定义VoiceOver辅助功能
Label
或Hint
图标徽章编号?
例如,当iOS设置Accessibility > VoiceOver
变为On
时,VoiceOver会朗读屏幕上的项目。对于App Store和Mail图标,将大声朗读以下内容:
App Store图标,VoiceOver说:“App Store。 2个可用更新。 双击打开。“
邮件图标,VoiceOver说:“邮件。 1条未读邮件。双击 打开。“
但是 ,对于我正在处理的项目,VoiceOver读出是通用的,并不完全有用:
我的应用程序图标,VoiceOver说:“我的应用程序。 123个新项目。双击到 开“。
短语 “...新项目” 过于模糊,不准确,我确信必须有一种方法可以使用自定义字符串更改此项通过设置accessibilityLabel
,accessibilityHint
或类似内容来使其更好地阅读。
但是Swift代码到底是怎么回事?
非常感谢。
补充观察:
使用模拟器辅助功能检查器,VoiceOver值显示为Label
- “我的应用程序”和Value
- “123个新项目”。在代码中进行了更新,我尝试将accessibilityValue
设置为自定义内容 - “123自定义说明”。但仍然没有运气,VoiceOver继续阅读“我的应用.123 新项目。双击打开。”
为什么VoiceOver没有按预期读取自定义徽章值?
代码:
以下方法将红色圆圈App图标徽章编号添加到我的应用程序的图标:
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."
}
}