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

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

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

有什么建议吗?


当前回答

正如很多人在这里提到的,你可以设置字体如下:

button.titleLabel?.font = .systemFont(ofSize: 19.0, weight: .bold)

只要确保你的按钮有默认的样式就可以了,否则上面的内容会被系统忽略。

其他回答

如果你有字体大小的问题(你的字体没有响应大小的变化)…

@codester有正确的代码:

myButton.titleLabel!.font =  UIFont(name: YourfontName, size: 20)

然而,我的字体大小并没有改变。结果是我要求的字体并不存在(“HelveticaNeue-Regular”)。它并没有导致崩溃,但似乎只是因为它忽略了字体声明。一旦我将字体更改为一些确实存在的东西,更改为“size: x”确实呈现。

您应该遍历titleLabel属性。

button.titleLabel.font

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

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

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

否则,你将使用:

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

斯威夫特5

myButton.titleLabel?.font = UIFont(name: "yourCustomFont", size: CGFloat(yourFontSize))

如果你只需要改变大小(Swift 4.0):

button.titleLabel?.font = button.titleLabel?.font.withSize(12)