我试图改变一个UIButton的字体使用Swift…
myButton.font = UIFont(name: "...", 10)
然而.font已弃用,我不确定如何改变字体,否则。
有什么建议吗?
我试图改变一个UIButton的字体使用Swift…
myButton.font = UIFont(name: "...", 10)
然而.font已弃用,我不确定如何改变字体,否则。
有什么建议吗?
当前回答
您不需要强制打开titleLabel来设置它。
myButton.titleLabel ?。字体= UIFont(名称:YourfontName,大小:20)
因为你没有在这里使用titleLabel,你可以选择使用它,如果它是nil,它将只是一个无操作。
我还将添加其他人所说的,字体属性已弃用,并确保在设置标题文本时使用setTitle:forControlState:。
其他回答
这适用于Swift 3.0:
btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20)
我们可以像下面这样使用不同类型的系统字体
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)
和你的自定义字体如下
myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)
正如很多人在这里提到的,你可以设置字体如下:
button.titleLabel?.font = .systemFont(ofSize: 19.0, weight: .bold)
只要确保你的按钮有默认的样式就可以了,否则上面的内容会被系统忽略。
使用titleLabel代替。字体属性在iOS 3.0中已弃用。它也不能在Objective-C中工作。titleLabel是用于在UIButton上显示标题的标签。
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
然而,在设置标题文本时,你应该只使用setTitle:forControlState:。不要使用titleLabel直接为title设置任何文本。
如果你将AttributedString设置为UIButton,那么你可以做下面的事情。
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)