如何在iOS 8 swift中更改按钮文本大小

10

我有一个带有布局outletLeaderboard的按钮。 我想通过代码更改它的文本大小,所以这是我写的:

outletLeaderboard.font =  UIFont(name: outletLeaderboard.font.fontName, size: 37)

然后我遇到了一个错误:

'font' 不可用:在 iOS 7 及更早版本中已弃用的API在Swift中不可用

我需要写哪行正确的代码?

5个回答

16

使用 titleLabel 替代 .font

outletLeaderboard.titleLabel!.font =  UIFont(name: "HelveticaNeue-Thin", size: 20)

我的字体名称是自定义的:Helvetica Neue Thin。我该如何在代码行中编写它? - Eliko

3

尝试

outletLeaderboard.titleLabel?.font = UIFont(name: outletLeaderboard.font.fontName, size: 37)

我仍然收到这个错误:'font' 不可用:自 iOS 7 及更早版本起弃用的 API 在 Swift 中不可用。 - Eliko

2

只需访问按钮的标题标签。例如:

button.titleLabel?.font = UIFont(name: "Arial-MT", size: 15)

如果我的字体名称是自定义的:Helvetica Neue Thin。我该如何在代码行中编写它? - Eliko
1
你的按钮已经有了这个自定义字体吗?那就试试:button.titleLabel?.font = UIFont(descriptor:(button.titleLabel?.font.fontDescriptor())!, size: 15) - Bierbarbar

1
使用Swift 3:
if let titleLabel = outletLeaderboard.titleLabel {
    titleLabel.font = UIFont(name: titleLabel.font.fontName, size: 16)
}

甚至更好的是一个扩展程序:

extension UIButton {
    func set(fontSize: CGFloat) {
        if let titleLabel = titleLabel {
             titleLabel.font = UIFont(name: titleLabel.font.fontName, size: fontSize)
        }
    }
}

0

当你定义了 outletLeaderboard,确保它是 UIButton 类型。

var outletLeaderboard : UIButton = UIButton()
outletLeaderboard.titleLabel!.font = UIFont(name: "Consolas", size: 30)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接