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

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

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

有什么建议吗?


当前回答

这适用于Swift 3.0:

btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20) 

其他回答

您应该遍历titleLabel属性。

button.titleLabel.font

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

使用titleLabel代替。字体属性在iOS 3.0中已弃用。它也不能在Objective-C中工作。titleLabel是用于在UIButton上显示标题的标签。

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

然而,在设置标题文本时,你应该只使用setTitle:forControlState:。不要使用titleLabel直接为title设置任何文本。

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

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

看看这里。

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

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

从文档中可以看到:

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