如何将VoiceOver辅助功能添加到应用程序的图标徽章编号?

use*_*509 15 optimization accessibility ios uiaccessibility swift

题:

如何添加自定义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."
    }
}
Run Code Online (Sandbox Code Playgroud)

BHe*_*cks 5

看来这是一个"仅限Apple"的功能,如现在...... 来源

通过API文档挖掘,似乎没有任何标识符可以为您设置此项,因此我认为它尚未公开支持.它可能已经被报道过了,但是向Apple报告这个请求永远不会受到伤害.

对不起,这可能不是你希望的答案!:/