重现步骤:
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/