Eil*_*lon 14 cocoa-touch compiler-errors uibarbuttonitem ios swift
我正在尝试设置UIBarButtonItem类似的字体:
let barButton = UIBarButtonItem.appearance()
barButton.setTitleTextAttributes([NSFontAttributeName: UIFont(name: "AvenirNext", size: 15], forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)
但是它会抛出一个编译错误:
无法使用参数列表类型'($ T7,forState:UIControlState)调用'init'
我不知道这意味着什么.我也试过了
barButton.titleTextAttributesForState(UIControlState.Normal) =[NSFontAttributeName...]`
Run Code Online (Sandbox Code Playgroud)
但似乎它不可转让
我该如何解决这个问题?
zis*_*oft 27
UIFont返回的初始化程序是可选的,因为它可能由于拼写错误的字体名称而失败等.
你必须打开它并检查:
if let font = UIFont(name: "AvenirNext", size: 15) {
barButton.setTitleTextAttributes([NSFontAttributeName: font], forState: UIControlState.Normal)
}
Run Code Online (Sandbox Code Playgroud)
更新为Swift 3
if let font = UIFont(name: "AvenirNext", size: 15) {
barButton.setTitleTextAttributes([NSFontAttributeName:font], for: .normal)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14366 次 |
| 最近记录: |