因此,我今天晚上将XCode更新为7.3。

在我的一个项目中,在设置字体的几个标签上出现以下错误:

'(name: String, size: CGFloat) -> UIFont' is not convertible to '(name: String, size: CGFloat) -> UIFont?'

编辑:这是我的导航栏中标题 View 的代码:
let aTitleFrame: CGRect = CGRectMake(0, aHeaderTitleSubtitleView.frame.midY / 2, 200, 24)
let aTitleView: UILabel = UILabel(frame: aTitleFrame)
aTitleView.backgroundColor = UIColor.clearColor()
aTitleView.font = UIFont(name: "Roboto-Regular", size: 15) // ERROR POPS UP HERE
aTitleView.textAlignment = NSTextAlignment.Center
aTitleView.textColor = UIColor.whiteColor()

这是我的UILabel属性字符串的代码:
let aAttributedFundLabel: NSMutableAttributedString = NSMutableAttributedString(string: "Raising\n$ \(fund)")
aAttributedFundLabel.addAttribute(NSForegroundColorAttributeName, value: UIColor.darkGrayColor(), range: NSRange(location: 0, length: 7))
aAttributedFundLabel.addAttribute(NSFontAttributeName, value: UIFont(name: "Roboto-Regular", size: 15)!, range: NSRange(location: 0, length: 7)) // ERROR POPS UP HERE
aAttributedFundLabel.addAttribute(NSForegroundColorAttributeName, value: UIColor.blackColor(), range: NSRange(location: 8, length: fund.characters.count + 2))
aAttributedFundLabel.addAttribute(NSFontAttributeName, value: UIFont(name: "Roboto-Regular", size: 16)!, range: NSRange(location: 8, length: fund.characters.count + 2)) // ERROR POPS UP HERE
startupFund.attributedText = aAttributedFundLabel

在我整个项目中,只有两个文件会发生这种情况。

我打开了另一个项目,但是即使在此我也确实为多个标签设置了字体,我也可以构建并运行它而没有任何错误。

知道为什么会这样吗?

TIA!

最佳答案

在SO的其他地方,有人建议您在这里:

aTitleView.font = UIFont(name: "Roboto-Regular", size: 15)

...您应该尝试编写以下代码:
aTitleView.font = UIFont.init(name: "Roboto-Regular", size: 15)

我对此一无所知(因为我无法重现bug ),所以我只是在猜测!但是知道它是否真的会很有趣。

关于swift - “UIFont”不可转换为 'UIFont?',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36163273/

10-12 03:22