问题:
如何添加自定义 VoiceOver 辅助功能Label
or Hint
到应用程序
图标徽章编号?
例如,当iOS设置Accessibility > VoiceOver
被转动On
、VoiceOver 会大声朗读屏幕上触摸的项目。对于 App Store 和 Mail 图标,大声读出以下内容:
App Store 图标,VoiceOver 说道:“应用商店。有 2 个可用更新。
双击即可打开。”
邮件图标,VoiceOver 说:"Mail. 1 条未读消息。双击
打开。”
But,对于我正在从事的项目,VoiceOver 读出的是通用的,并不完全有帮助:
我的应用程序图标,VoiceOver 说:“我的应用程序。123 个新项目。双击即可
打开。”
词组“... 新东西”太模糊,不准确,我确信必须有一种方法可以使用自定义字符串来更改它,以便通过设置accessibilityLabel
, accessibilityHint
或类似的东西。
但在 Swift 代码中具体是如何实现的呢?
非常感谢。
附加观察:
使用模拟器辅助功能检查器,VoiceOver 值似乎来自Label
- “我的应用程序”和Value
- “123 个新项目”。所以在代码中更新我尝试设置accessibilityValue
自定义的东西 - “123 自定义描述。”。但还是没有运气,VoiceOver 继续阅读“我的应用程序。123新东西。双击即可打开。”
为什么 VoiceOver 没有按预期读取自定义徽章值?
Code:
以下方法将红色圆圈应用程序图标徽章编号添加到我的应用程序的图标:
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."
}
}