gpt4 book ai didi

ios - 辅助功能兼容的格式化时间字符串

转载 作者:行者123 更新时间:2023-11-29 11:25:15 24 4
gpt4 key购买 nike

有没有人知道如何从 iOS 获取可以通过画外音以自然方式说出的格式化时间字符串?!点击锁定屏幕上的时钟会说出当前时间的完美本地化版本。很难做到这一点,而且目前似乎无法获得以下本地化的 拼写 时间字符串 12:45 pm:

  • DE - “12 Uhr 45”
  • ZH - “12 点钟”(或 00:45 的“零一百四十五分钟”)
  • FR - “12 小时 45”

我尝试使用以下代码片段(只给您 12:45)以及 DateComponentsFormatter。但没有提供预期的结果。

let formatter = DateFormatter()
formatter.formatterBehavior = .behavior10_4
formatter.timeStyle = .short
formatter.dateStyle = .none
formatter.locale = Locale(identifier: "en_US")
formatter.string(from: Date())

最佳答案

Has anybody an idea how to get formatted time strings from iOS which can be spoken in a natural way by voice over?!

日期和数字必须格式正确才能被 VoiceOver 用户完全理解。
使用下面的元素并查看这些 code snippets (Objc + Swift) 弄清楚如何实现无可挑剔的读出。 enter image description here

使用您的示例,我建议以下代码基于上面链接的代码片段:

let date = dateFormatter.date(from: "06/12/2019 12:45")

let hourComponents = Calendar.current.dateComponents([.hour,],
from: date!)
let mn = Calendar.current.component(.minute, from: date!)
hourLabel.accessibilityLabel = DateComponentsFormatter.localizedString(from: hourComponents,
unitsStyle: .spellOut)! + String(mn)

根据这个原理,您可以拥有一个与您希望 VoiceOver 读出特定时间的方式兼容的格式化字符串。

关于ios - 辅助功能兼容的格式化时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59180099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com