如何用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中不推荐使用,而是使用
titleLabel
的font
属性。)
您不需要强制打开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)