Swift:将UIAlertContorller消息中的文本加粗

z0qdvdin  于 2023-02-21  发布在  Swift
关注(0)|答案(3)|浏览(176)

我正在制作一个iOS版本的Android应用程序。我想让我传递的字符串是粗体的。在另一个应用程序中,它是通过添加html完成的,如下所示。我尝试了一下,它不起作用。有没有一种方法可以实现这一点或解决可能的问题?
边注:showPrompt是我为UIAlertController函数做的一个开关。
谢谢你,

func systemUpdateCheck(oCurVer: String){    

    showPrompt("A new version has been released,<b>v." + oCurVer + "<b>.<br/>Tap OK to download and install the new version", sType: "alert", sJSResp: "")
}
6l7fqoea

6l7fqoea1#

试试这个

let attributedText = NSMutableAttributedString(string: "Message", attributes: [NSAttributedStringKey.font: UIFont(name:".SFUIText-BoldItalic", size: 12)!])
let alert = UIAlertController(title: "Title", message: "", preferredStyle: .alert)
alert.setValue(attributedText, forKey: "attributedMessage")
let okAction = UIAlertAction(title: LocalizedString("Ok"), style: .default)
alert.addAction(okAction)
present(alert, animated: true)
wko9yo5t

wko9yo5t2#

我知道这个问题很久以前就被问到了,我们现在使用的是iOS 16 & Swift 5. 5,但我发现了这个可行的解决方案:-

let message = "This is a message with bold text"
let attributedString = NSMutableAttributedString(string: message)
let range = (message as NSString).range(of: "bold text")
attributedString.addAttribute(.font, value: UIFont.boldSystemFont(ofSize: 17), range: range)

let alert = UIAlertController(title: "Alert Title", message: "", preferredStyle: .alert)
alert.setValue(attributedString, forKey: "attributedMessage")
let action = UIAlertAction(title: "OK", style: .default, handler: nil)
alert.addAction(action)
present(alert, animated: true, completion: nil)

ui7jx7zq

ui7jx7zq3#

UIAlertController中没有用于更改文本外观的公共API。
新的UIAlertController只是一个UIViewController子类,您可以创建一个定制的UIViewController子类,并获得对其外观和行为的更细粒度的控制。

相关问题