我试图改变一个UIButton的字体使用Swift…
myButton.font = UIFont(name: "...", 10)
然而.font已弃用,我不确定如何改变字体,否则。
有什么建议吗?
我试图改变一个UIButton的字体使用Swift…
myButton.font = UIFont(name: "...", 10)
然而.font已弃用,我不确定如何改变字体,否则。
有什么建议吗?
当前回答
使用titleLabel代替。字体属性在iOS 3.0中已弃用。它也不能在Objective-C中工作。titleLabel是用于在UIButton上显示标题的标签。
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
然而,在设置标题文本时,你应该只使用setTitle:forControlState:。不要使用titleLabel直接为title设置任何文本。
其他回答
对于Swift 3.0:
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
其中“boldSystemFont”和“16”可以替换为您的自定义字体和大小。
如果你有字体大小的问题(你的字体没有响应大小的变化)…
@codester有正确的代码:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
然而,我的字体大小并没有改变。结果是我要求的字体并不存在(“HelveticaNeue-Regular”)。它并没有导致崩溃,但似乎只是因为它忽略了字体声明。一旦我将字体更改为一些确实存在的东西,更改为“size: x”确实呈现。
这对我很有用,谢谢。我想改变文本大小,而不是改变字体名称。
var fontSizeButtonBig:Int = 30
btnMenu9.titleLabel ?。font = .systemFont(ofSize: CGFloat(fontSizeButtonBig))
斯威夫特5
myButton.titleLabel?.font = UIFont(name: "yourCustomFont", size: CGFloat(yourFontSize))
正如很多人在这里提到的,你可以设置字体如下:
button.titleLabel?.font = .systemFont(ofSize: 19.0, weight: .bold)
只要确保你的按钮有默认的样式就可以了,否则上面的内容会被系统忽略。