如何为 ios 本地通知内容提供自定义辅助功能文本 - UNNotificationContent

Posted

技术标签:

【中文标题】如何为 ios 本地通知内容提供自定义辅助功能文本 - UNNotificationContent【英文标题】:How do I provide custom accessibility text for ios local notification content - UNNotificationContent 【发布时间】:2019-07-10 18:56:31 【问题描述】:

我正在尝试为画外音用户提供自定义文本,而不是阅读正文。

例如,当前正文是 “Apple 股票 $203.03 ↑” 它读作 “Apple 股票 203 美元和 3 美分向上箭头” 但我想要读作 “Apple 股票 203 美元 3 美分绿色”

以下代码不起作用:

let content = UNMutableNotificationContent()
content.body = "Apple stock $203.03 ↑"
content.accessibilityLabel = "Apple stock two hundred three dollars and three cents in green"
content.accessibilityHint = "I am an Hint"

连提示都没有说出来。

让我知道是否有可能实现这一目标?

有没有办法在默认通知中实现这一点(通知内容扩展仅在用户展开通知后才有效)

【问题讨论】:

自从我写下我的答案以来,您有没有找到任何可以删除我关于您的问题的错误报告的解决方案? ?????? @XLE_22 否。已创建雷达/反馈票证没有更新。并跟进了可访问性传播者,他们说这是在他们的系统/积压中,仅此而已:-( 【参考方案1】:

基于这个答案here:

尝试设置accessibilityValuelike:

content.accessibilityValue = "Apple stock two hundred three dollars and three cents in green"

如果它不起作用,请尝试将accessibilityLabel 设置为您想要的值,然后将UNMutableNotificationContent 子类化以覆盖accessibilityValue 属性。

class CustomUNMutableNotificationContent: UNMutableNotificationContent 
    override public var accessibilityValue: String? 
        get  return self.accessibilityLabel 
        set  super.accessibilityValue = newValue 
    

【讨论】:

我刚刚在子类中看到了您打印的代码,当您覆盖 accessibilityValue 时,您将再次返回 accessibilityValue。能不能换成accessibilityLabel看看能不能用? 好吧...相反,如果您覆盖 accessibilityValue 并返回文本“Apple 股票 203 美元和 3 美分绿色”而不是 accessibilityLabel,它是否正确显示?【参考方案2】:

让我知道是否有可能实现这一目标?

实际上,你不能。 ? 我写了一个D开发者T技术S支持事件(编号731462771)苹果的回答肯定承认这是一个错误,他们无法提供解决方法。

我提交了一份题为 VoiceOver: can't change change accessibilityLabel for UNMutableNotificationContent 的错误报告,并附有参考 FB7640821,以便尽快解决此问题 (下一个 ios 版本? ?

现在,您知道为什么不能为 iOS 本地通知内容提供自定义辅助功能文本...直到 Apple 自己修复它。 ?

【讨论】:

以上是关于如何为 ios 本地通知内容提供自定义辅助功能文本 - UNNotificationContent的主要内容,如果未能解决你的问题,请参考以下文章

如何为本地通知界面编写适当的测试?

如何为 Cloudwatch 创建自定义文本格式化程序?

如何为 android 创建通知之类的 inshorts

如何为用户提供丰富的通知服务(包括图片图标)?

IOS UIView 04- 自定义控件

如何为反应表 7 提供自定义排序功能?