gpt4 book ai didi

ios - 如何使 NSMutableAttributedString 响应设置应用程序中的动态类型文本

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:19 25 4
gpt4 key购买 nike

let dictTitleColor = [NSAttributedStringKey.foregroundColor: UIColor.LTColor()]
let titleAttributedString = NSMutableAttributedString(string: title, attributes: dictTitleColor)
alert.setValue(titleAttributedString, forKey: "attributedTitle")

当我增加设备的字体大小时,标题字符串不会增加我已经在 alertview Controller 中设置了这个字符串?那么如何使它响应字体大小的变化?

最佳答案

let dictTitleColor = [NSAttributedStringKey.foregroundColor : UIColor.green,
NSAttributedStringKey.font : UIFont.preferredFont(forTextStyle: .headline)]
let titleAttributedString = NSMutableAttributedString(string: title, attributes: dictTitleColor)
alert.setValue(titleAttributedString, forKey: "attributedTitle")

注意:如果显示弹出窗口然后用户在辅助功能设置中更改了字体大小,这将失败。对于这种情况,您可能需要收听 UIContentSizeCategory.didChangeNotification并在那里更新字体大小。

例如

NotificationCenter.default.addObserver(self, selector: #selector(preferredContentSizeChanged(_:)), name: UIContentSizeCategory.didChangeNotification, object: nil)

方法

@objc func preferredContentSizeChanged(_ notification: Notification) {
let dictTitleColor = [NSAttributedStringKey.foregroundColor : UIColor.green,
NSAttributedStringKey.font : UIFont.preferredFont(forTextStyle: .headline)]
let titleAttributedString = NSMutableAttributedString(string: title, attributes: dictTitleColor)
alert.setValue(titleAttributedString, forKey: "attributedTitle")
}

关于ios - 如何使 NSMutableAttributedString 响应设置应用程序中的动态类型文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47568987/

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