我正在尝试正确设置导航栏的样式,我需要将字体更改为大小为19的helvetica neue。我曾经使用过此代码,但我注意到现在也无法正常工作:
navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "HelveticaNeue-Light", size: 19)]
发生这种情况是因为NSFontAttributeName的类型已更改为String,我尝试使用
navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: "HelveticaNeue-Light, 19"]
但是编译器继续给我一个与字体磅值有关的错误,我该如何解决?
该UIFont构造函数返回一个可选的(UIFont?),你必须拆开包装使用。添加!如果你确保你有一个有效的字体名称:
UIFont
UIFont?
!
Swift 4.2:
navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.font: UIFont(name: "HelveticaNeue-Light", size: 19)!]
斯威夫特4:
navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.font: UIFont(name: "HelveticaNeue-Light", size: 19)!]
斯威夫特3:
navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "HelveticaNeue-Light", size: 19)!]
注意: 如果要在代码中设置带有静态名称的字体,则在确认使用了有效的字体名称后,强制展开是安全的。如果要从外部来源(用户或服务器)获取字体名称,则将要使用 可选绑定, 例如if let font = UIFont(...或,guard let font = UIFont(...以便在使用前安全地解开字体。
if let font = UIFont(...
guard let font = UIFont(...