如何为 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:
尝试设置accessibilityValue
like:
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的主要内容,如果未能解决你的问题,请参考以下文章