如何将VoiceOver辅助function添加到应用程序的图标徽章号码?
题:
如何将自定义VoiceOver辅助function
Label
或Hint
到应用图标徽章号?
例如 ,当iOS设置Accessibility > VoiceOver
打开时,VoiceOver朗读在屏幕上触摸的项目。 对于App Store和邮件图标,大声读出以下内容:
App Store图标,VoiceOver说: “App Store, 2个更新可用 ,双击打开。
邮件图标,VoiceOver说: “邮件.1条未读消息 ,双击打开。”
但是 ,对于我正在开发的这个项目,所读出的VoiceOver是通用的,并不完全有用:
我的应用程序图标,VoiceOver说: “我的应用程序, 123个新项目 ,双击打开。
短语“…新项目”太模糊,不准确,我敢肯定,必须有一种方法来改变这个自定义string,通过设置一个accessibilityLabel
, accessibilityHint
或类似的东西,使其更好地阅读。
但究竟在Swift代码中究竟如何?
非常感谢。
补充观察:
使用模拟器辅助function检查器,VoiceOver值出现在Label
– “我的应用程序”和Value
– “123个新项目”中。 所以在代码更新我已经尝试设置accessibilityValue
的东西自定义 – “123自定义描述”。 但仍然没有运气,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." } }
看来这是一个“仅限苹果”的function,截至目前… 源
通过API文档挖掘,似乎没有任何标识符可以为您设置,因此我认为它尚未公开支持。 这很可能已经被报道了,但是把这个报告作为对苹果的请求永远不会受到伤害。
对不起,这可能不是你所希望的答案! :/