我正在尝试使用Swift更改UIButton的字体...
myButton.font = UIFont(name: "...", 10)
但是{@ 1}}已被弃用,我不知道如何更改字体。
有什么建议吗?
答案 0 :(得分:336)
请改用titleLabel
。 iOS 3.0中不推荐使用font
属性。它在Objective-C中也不起作用。 titleLabel
是用于在UIButton
上显示标题的标签。
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
但是,在设置标题文字时,您应该只使用setTitle:forControlState:
。请勿使用titleLabel
直接为标题设置任何文字。
答案 1 :(得分:61)
Swift 3.0 :
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
其中“boldSystemFont”和“16”可以替换为您的自定义字体和大小。
答案 2 :(得分:27)
btn.titleLabel?.font = .systemFont(ofSize: 12)
答案 3 :(得分:8)
您无需强行打开titleLabel来设置它。
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
由于你没有在这里使用titleLabel,你可以选择使用它,如果它是零则只是一个无操作。
我还会像其他人一样说,不推荐使用font属性,并确保在设置标题文字时使用setTitle:forControlState:
。
答案 4 :(得分:6)
用于在按钮上显示文本的字体。 (在iOS 3.0中不推荐使用。请改用
titleLabel
的font
属性。)
答案 5 :(得分:5)
如果您遇到字体大小问题(您的字体没有响应尺寸更改)......
@codester有正确的代码:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
但是,我的字体大小没有变化。事实证明,我要求一个不存在的字体(“HelveticaNeue-Regular”)。它没有导致崩溃,但似乎只是因为它忽略了那个字体语句。一旦我将字体更改为确实存在的字体,就会对“size:x”进行更改。
答案 6 :(得分:4)
答案 7 :(得分:4)
您应该浏览titleLabel
属性。
button.titleLabel.font
自iOS 3.0以来,font
属性已被弃用。
答案 8 :(得分:4)
这适用于Swift 3.0:
btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20)
答案 9 :(得分:3)
如果您将AttributedString设置为UIButton,那么您可以执行以下操作。
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)
答案 10 :(得分:3)
我们可以使用以下不同类型的系统字体
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)
答案 11 :(得分:3)
在Swift 5中,您可以使用点符号来实现更快的语法:
myButton.titleLabel?.font = .systemFont(ofSize: 14, weight: .medium)
否则,您将使用:
myButton.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium)
答案 12 :(得分:2)
如果仅需要更改大小( Swift 4.0 ):
button.titleLabel?.font = button.titleLabel?.font.withSize(12)
答案 13 :(得分:1)
这种方法现在不起作用:
btn.titleLabel?.font = UIFont(name: "Helvetica", size:12)
这有效:
btn.titleLabel?.font = UIFont.init(name: "Helvetica", size:12)
答案 14 :(得分:1)
示例:button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
答案 15 :(得分:0)
为我工作,谢谢。我只希望更改文本大小而不更改字体名称。
var fontSizeButtonBig:Int = 30
btnMenu9.titleLabel?.font = .systemFont(ofSize:CGFloat(fontSizeButtonBig))