我试图改变一个UIButton的字体使用Swift…

myButton.font = UIFont(name: "...", 10)

然而.font已弃用,我不确定如何改变字体,否则。

有什么建议吗?


当前回答

看看这里。

您应该设置按钮的titleLabel的字体。

myButton.titleLabel!.font = UIFont(name: "...", 10)

其他回答

您应该遍历titleLabel属性。

button.titleLabel.font

自iOS 3.0以来,字体属性已弃用。

从文档中可以看到:

用于在按钮上显示文本的字体。(在iOS 3.0中已弃用。使用titleLabel的字体属性。)

我们可以像下面这样使用不同类型的系统字体

myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)

和你的自定义字体如下

    myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)

在Swift 5中,你可以利用点表示法来实现更快的语法:

myButton.titleLabel ?。font = .systemFont(ofSize: 14, weight: .medium)

否则,你将使用:

myButton.titleLabel ?。font = UIFont。systemFont(ofSize: 14, weight: .medium)

这对我很有用,谢谢。我想改变文本大小,而不是改变字体名称。

var fontSizeButtonBig:Int = 30

btnMenu9.titleLabel ?。font = .systemFont(ofSize: CGFloat(fontSizeButtonBig))