gpt4 book ai didi

string - NSFontAttributeName 已更改为 String

转载 作者:IT王子 更新时间:2023-10-29 05:02:29 29 4
gpt4 key购买 nike

我正在尝试正确设置导航栏的样式,我需要将字体更改为大小点为 19 的 helvetica neue。我曾经使用过这段代码,但我注意到现在效果不佳:

navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "HelveticaNeue-Light", size: 19)]

发生这种情况是因为 NSFontAttributeName 的类型已更改为 String,我已尝试修复它

navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: "HelveticaNeue-Light, 19"]

但是编译器继续给我一个与字体磅值相关的错误,我该如何解决?

最佳答案

UIFont 构造函数返回一个可选的 (UIFont?),您必须解包才能使用。添加 ! 如果您确定您有一个有效的字体名称:

swift 4.2:

navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.font: UIFont(name: "HelveticaNeue-Light", size: 19)!]

swift 4:

navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.font: UIFont(name: "HelveticaNeue-Light", size: 19)!]

swift 3:

navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "HelveticaNeue-Light", size: 19)!]

注意:如果您在代码中使用静态名称设置字体,那么一旦您确认使用的是有效字体名称,强制解包是安全的。如果您从外部来源(用户或服务器)获取字体名称,您将需要使用可选绑定(bind),例如if let font = UIFont(...guard let font = UIFont(... 在使用前安全地打开字体。

关于string - NSFontAttributeName 已更改为 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26572901/

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