我试图像这样设置UIBarButtonItem
的字体:
let barButton = UIBarButtonItem.appearance()
barButton.setTitleTextAttributes([NSFontAttributeName: UIFont(name: "AvenirNext", size: 15], forState: UIControlState.Normal)
但这会引发编译器错误,提示:
我不知道那是什么意思我也尝试过
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)
}
关于ios - 在文本属性字典中实例化UIFont时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26483671/