gpt4 book ai didi

ios - 更改 UIAlertController 的标题颜色

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

我是 iOS 开发新手。

我正在尝试更改 UIAlertController 的标题和消息颜色,但不起作用,颜色没有改变。

这是我的代码:

let alert = UIAlertController(title: NSLocalizedString("notifications_popup2_title", comment: ""), message: NSLocalizedString("notifications_popup2_message", comment: ""), preferredStyle: UIAlertControllerStyle.actionSheet)

// Change font of the title and message
let titleFont:[NSAttributedStringKey : AnyObject] = [ NSAttributedStringKey(rawValue: NSAttributedStringKey.font.rawValue) : UIFont(name: "Flama-Basic", size: 22)!, NSAttributedStringKey(rawValue: NSAttributedStringKey.foregroundColor.rawValue) : UIColor(hexString: "#2e2e2e")! ]
let messageFont:[NSAttributedStringKey : AnyObject] = [ NSAttributedStringKey(rawValue: NSAttributedStringKey.font.rawValue) : UIFont(name: "Flama-light", size: 18)!, NSAttributedStringKey(rawValue: NSAttributedStringKey.foregroundColor.rawValue) : UIColor(hexString: "#2e2e2e")! ]
let attributedTitle = NSMutableAttributedString(string: NSLocalizedString("notifications_popup2_title", comment: ""), attributes: titleFont)
let attributedMessage = NSMutableAttributedString(string: NSLocalizedString("notifications_popup2_message", comment: ""), attributes: messageFont)
alert.setValue(attributedTitle, forKey: "attributedTitle")
alert.setValue(attributedMessage, forKey: "attributedMessage")

如果我将警报样式更改为 .alert 它正在工作...

enter image description here

最佳答案

您使用的一些代码已弃用,例如:

NSAttributedStringKey

现在是:

NSAttributedString.Key

您也不需要指定 rawValue。你只需要这样的东西:

    let alertController = UIAlertController(title: "title", message: "message", preferredStyle: .alert)
alertController.setValue(NSAttributedString(string: "title", attributes: [.foregroundColor : UIColor.red]), forKey: "attributedTitle")
alertController.setValue(NSAttributedString(string: "message", attributes: [.foregroundColor : UIColor.blue]), forKey: "attributedMessage")

结果: Alert

注意它只适用于.alert。与 .alert

不同, .actionSheet 标题和消息不可着色

另请注意使用私有(private) API 可能会导致拒绝。但经验表明,只有名称以“_”开头的私有(private)方法才会被 AppStore 私有(private)方法使用检测 系统拒绝。

此外如果苹果决定改变它,可以随时停止工作。

您最好的选择是自己实现自定义警报。

关于ios - 更改 UIAlertController 的标题颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59108033/

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