swift – 将NSLocalizedString的子字符串设置为粗体

swift – 将NSLocalizedString的子字符串设置为粗体,第1张

概述我有一个方法将NSAttributedString设置为粗体: func setBold(text: String) -> NSMutableAttributedString { guard let font = UIFont.CustomNormalBoldItalic() else { fatalError("font not found") } l 我有一个方法将NSAttributedString设置为粗体:

func setBold(text: String) -> NSMutableAttributedString {    guard let Font = UIFont.CustomnormalBoldItalic() else {        fatalError("Font not found")    }    let string = NSMutableAttributedString(string:"\(text)",attributes: [NSFontAttributename : Font])    self.setAttributedString(string)    return self}

这就是它的调用方式,它正常工作:

let formattedString = NSMutableAttributedString()formattedString.setBold("Your text here")

但是,我试图将NSLocalizedString的子字符串的文本设置为粗体.所以我会这样尝试:

let formattedString = NSMutableAttributedString()return NSAttributedString(string: String.localizedStringWithFormat(    NSLocalizedString("message",comment: ""),formattedString.setBold(NSLocalizedString("message.day",comment: "")),NSLocalizedString("message.time",comment: "")))

它不是“今天晚上10点开始”,而是提供以下输出:

Today{NSFont = "<UICTFont: 0x7fb75d4f1330> Font-family: \"CustomText-MediumItalic\"; Font-weight: normal; Font-style: italic; Font-size: 14.00pt";} starting at 10pm {}

任何人都可以告诉我我哪里出错或如何解决这个问题?我有另一种方法的原因是因为我有许多LocalizedStrings来设置粗体,并认为这可能是一个简单的解决方案.对不涉及大量重复/代码行的其他想法/解决方案开放.

解决方法 我只是创建外部字符串HTML并让AttributedString处理繁重的工作.这是迅速的3,但迅速的2.3应该是直截了当的.还有一些可选的处理要添加,但你得到了它的要点.

// samples so I don't have to put a string resource in my playground,you// Could just as easily pull these from NSLocalizedStringlet format = "<b>%1$@</b> starting at <b>%2$@</b>"let day = "Today"let time = "10 PM"let raw = String(format:format,day,time)let attr = AttributedString(    HTML: raw.data(using: .utf8)!,options: [NSdocumentTypedocumentAttribute:NSHTMLTextdocumentType],documentAttributes:nil)!
总结

以上是内存溢出为你收集整理的swift – 将NSLocalizedString的子字符串设置为粗体全部内容,希望文章能够帮你解决swift – 将NSLocalizedString的子字符串设置为粗体所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1016681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存