Answers:
使用titleLabel
代替。该font
属性在iOS 3.0中已弃用。它在Objective-C中也不起作用。titleLabel
是用于在上显示标题的标签UIButton
。
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
但是,在设置标题文本时,您只能使用setTitle:forControlState:
。请勿titleLabel
用于直接为标题设置任何文本。
titleLabel
是可选属性。感谢在beta中,它不是。
myButton.titleLabel?.font = ...
将起作用,因为如果titleLabel为nil,它将是无操作
对于Swift 3.0:
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
其中“ boldSystemFont”和“ 16”可以替换为您自定义的字体和大小。
btn.titleLabel?.font = .systemFont(ofSize: 12)
从文档中:
用于在按钮上显示文本的字体。(iOS 3.0中已弃用。请使用的
font
属性titleLabel
改为。)
我们可以使用不同类型的系统字体,如下所示
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)
如果将AttributedString设置为UIButton,则可以执行以下操作。
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)