ios – 在Swift中自定义UIBarButtonItem

前端之家收集整理的这篇文章主要介绍了ios – 在Swift中自定义UIBarButtonItem前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在AppDelegate中设置UIBarButtonItem的字体,如下所示:
let barButton = UIBarButtonItem.appearance()
barButton.setTitleTextAttributes([NSFontAttributeName: UIFont(name: "AvenirNext",size: 15],forState: UIControlState.Normal)
@H_404_4@但是它给我一个编译器错误说:

@H_404_4@无法使用参数列表类型'($T7,forState:UIControlState)调用’init’

@H_404_4@我不知道这是什么意思

@H_404_4@我也试过

@H_404_4@barButton.titleTextAttributesForState(UIControlState.Normal)= [NSFontAttributeName …]

@H_404_4@但它似乎是不可分配的

@H_404_4@我该怎么做?非常感谢!

解决方法

UIFont的初始化程序返回一个可选的,因为它可能会由于拼写错误的字体名称而失败. @H_404_4@你必须解开它并检查:

if let font = UIFont(name: "AvenirNext",size: 15) {
    barButton.setTitleTextAttributes([NSFontAttributeName: font],forState: UIControlState.Normal)
}
@H_404_4@更新为Swift 3

if let font = UIFont(name: "AvenirNext",size: 15) {
    barButton.setTitleTextAttributes([NSFontAttributeName:font],for: .normal)
}

猜你在找的iOS相关文章