ios - 将 NSLocalizedString 转换为 NSAttributedString 大写文本

标签 ios swift xcode nsattributedstring nslocalizedstring

重现步骤:

let testString  = NSLocalizedString("test", comment: "string for test")
let testStringAttributed = NSAttributedString(string: testString)

print(testStringAttributed)

预期结果:测试

实际结果:测试

我使用的是7.3.1,swift 2.2

你可以看到我什至没有设置属性,即使使用属性(使用常规字体样式)结果也是相同的。 这是一种意外的行为,我必须能够在我的应用程序中本地化我的属性字符串(基本上是我在带有链接的标签中设置的文本)。 有任何已知的解决方法吗?

P.S.:将字符串设置为小写会删除大写,但会让我丢失我设置的任何属性。这里不是一个可行的选择。

最佳答案

该错误是由于 Timur Bernikowich 建议的翻译缺失造成的。

NSLocalizedString 应该在缺少翻译的情况下返回 key ,但在转换为 NSAttributedString 的情况下,字符串会变为大写。

将正确的翻译放入 Localized.string 并调用该键解决了问题

关于ios - 将 NSLocalizedString 转换为 NSAttributedString 大写文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41139557/

相关文章:

android - 适用于 Android 和 IOS 的乐谱 API?

ios - 支持 Landscape Orientation 的 UiViewController 将其他 View 置于 Landscape

ios - Xcode 7.2 语法高亮显示在 Swift 文件中闪烁

ios - 将数据列表保存到核心数据 iOS Swift

ios - UIImagePickerController Camera Overlay 匹配默认裁剪

ios - 将 block 保存在字典中

ios - 在 Interface Builder 中确定 UI 元素的可用运行时属性

ios - 您什么时候会在推送负载中使用 "thread-id" key ?

ios - 如何为分段 Controller 添加多个选择?

xcode - 如何禁用 iphone 3.5"屏幕 Xcode