请改用 titleLabel
。 font
属性在 iOS 3.0 中已弃用。它在 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”可以替换为您的自定义字体和大小。
点符号很棒👌
btn.titleLabel?.font = .systemFont(ofSize: 12)
正如许多人在这里提到的,您可以使用以下内容设置字体:
button.titleLabel?.font = .systemFont(ofSize: 19.0, weight: .bold)
只需确保您的按钮具有 default
样式以使其适用,否则上述内容将被系统忽略。
https://i.stack.imgur.com/RINpu.png
如果您只需要更改大小(Swift 4.0):
button.titleLabel?.font = button.titleLabel?.font.withSize(12)
您不需要强制打开 titleLabel 来设置它。
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
由于您没有在此处使用 titleLabel,因此您可以选择使用它,如果它为 nil,它将只是一个空操作。
正如其他人所说,我还将添加,不推荐使用 font 属性,并确保在设置标题文本时使用 setTitle:forControlState:
。
在 Swift 5 中,您可以使用点符号来获得更快的语法:
myButton.titleLabel?.font = .systemFont(ofSize: 14, weight: .medium)
否则,您将使用:
myButton.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium)
如果您遇到字体大小问题(您的字体没有响应大小更改)...
@codester 有正确的代码:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
但是,我的字体大小没有改变。事实证明,我要求一种不存在的字体(“HelveticaNeue-Regular”)。它并没有导致崩溃,但似乎只是因为它而忽略了该字体声明。一旦我将字体更改为确实存在的字体,“大小:x”的更改就会呈现。
我们可以使用不同类型的系统字体,如下所示
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)
您应该通过 titleLabel
属性。
button.titleLabel.font
自 iOS 3.0 起,font
属性已被弃用。
这适用于 Swift 3.0:
btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20)
如果您将 AttributedString 设置为 UIButton,那么您可以执行以下操作。
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)
示例:button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
如果你想使用它自己家族的默认字体,例如使用:“HelveticaNeue”
如果要指定系列字体,请使用例如:“HelveticaNeue-Bold”
这种方式现在不起作用:
btn.titleLabel?.font = UIFont(name: "Helvetica", size:12)
这有效:
btn.titleLabel?.font = UIFont.init(name: "Helvetica", size:12)
这对我有用,谢谢。我只想更改文本大小而不更改字体名称。
var fontSizeButtonBig:Int = 30
btnMenu9.titleLabel?.font = .systemFont(ofSize: CGFloat(fontSizeButtonBig))
要使用情节提要执行此操作,请在选择按钮时转到属性检查器。在顶部的第三个字段(“标题”)中选择“属性”。这将打开字体下拉列表,您可以在其中轻松更改字体。
titleLabel
是可选属性。感谢之前在测试版中它不是。myButton.titleLabel?.font = ...
将起作用,因为如果 titleLabel 为 nil,它将只是一个空操作