如何用Swift更改UIButton的字体

我正在尝试使用Swift更改UIButton的字体…

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

但是.font被弃用,我不知道如何改变字体,否则。

有什么build议么?

改用titleLabel 。 在iOS 3.0中, font属性是不赞成使用的。 它在Objective-C中也不起作用。 titleLabel是用于在UIButton上显示标题的标签。

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

但是,在设置标题文本时,只能使用setTitle:forControlState: 不要使用titleLabel直接设置标题的任何文本。

对于Swift 3.0

 button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16) 

其中“boldSystemFont”和“16”可以用您的自定义字体和大小replace。

从文档 :

用于在button上显示文本的字体。 ( 在iOS 3.0中不推荐使用,而是使用titleLabelfont属性。)

您不需要强制打开titleLabel来设置它。

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

既然你没有在这里使用titleLabel,你可以select使用它,如果它是零,它将只是一个没有操作。

我也会像其他人所说的那样添加字体属性,并确保在设置标题文本时使用setTitle:forControlState:

这在Swift 3.0中起作用:

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

你应该通过titleLabel属性。

button.titleLabel.font

自iOS 3.0以来, font属性已被弃用。

看看这里 。

你应该设置button的titleLabel的字体。

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

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

@codester有正确的代码:

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

但是,我的字体大小没有改变。 事实certificate,我要求一个不存在的字体(“HelveticaNeue-Regular”)。 这不是造成了崩溃,而是因为它而忽略了那个字体语句。 一旦我改变了字体的东西,确实存在,更改为“大小:x”确实呈现。

在Xamarin.iOS中,你可以用C#编写代码如下:

myButton.TitleLabel.Font = UIFont.FromName(“Helvetica-Bold”,33f);

这种方式现在不起作用:

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

这工作:

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