我试图在AppDelegate中设置UIBarButtonItem的字体,如下所示:
let barButton = UIBarButtonItem.appearance() barButton.setTitleTextAttributes([NSFontAttributeName: UIFont(name: "AvenirNext",size: 15],forState: UIControlState.normal)
无法使用参数列表类型'($T7,forState:UIControlState)调用’init’
我不知道这是什么意思
我也试过
barButton.titleTextAttributesForState(UIControlState.normal)= [NSFontAttributeName …]
但它似乎是不可分配的
我该怎么做?非常感谢!
解决方法
UIFont的初始化程序返回一个可选的,因为它可能会由于拼写错误的字体名称而失败.
你必须解开它并检查:
if let font = UIFont(name: "AvenirNext",size: 15) { barButton.setTitleTextAttributes([NSFontAttributeName: font],forState: UIControlState.normal) }
更新为Swift 3
if let font = UIFont(name: "AvenirNext",size: 15) { barButton.setTitleTextAttributes([NSFontAttributeName:font],for: .normal) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。