Ste*_*Fox 186 uibutton uifont ios swift
我正在尝试使用Swift更改UIButton的字体...
myButton.font = UIFont(name: "...", 10)
Run Code Online (Sandbox Code Playgroud)
但是.font已弃用,我不知道如何更改字体.
有什么建议?
cod*_*ter 378
请titleLabel改用.该font属性在iOS 3.0中已弃用.它在Objective-C中也不起作用.titleLabel是用于显示标题的标签UIButton.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Run Code Online (Sandbox Code Playgroud)
但是,在设置标题文本时,您应该只使用setTitle:forControlState:.不要titleLabel用于直接为标题设置任何文本.
ati*_*oSE 105
正如这里许多人提到的,您可以使用以下内容设置字体:
button.titleLabel?.font = .systemFont(ofSize: 19.0, weight: .bold)
Run Code Online (Sandbox Code Playgroud)
只要确保您的按钮具有default样式即可适用,否则系统会忽略上述内容。
小智 65
对于Swift 3.0:
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
Run Code Online (Sandbox Code Playgroud)
其中"boldSystemFont"和"16"可以替换为您的自定义字体和大小.
eon*_*ist 40
btn.titleLabel?.font = .systemFont(ofSize: 12)
Run Code Online (Sandbox Code Playgroud)
您无需强制打开titleLabel来设置它.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
既然你没有在这里使用titleLabel,你可以选择使用它,如果它没有,它只是一个无操作.
我还会像其他人一样说,不推荐使用font属性,并确保setTitle:forControlState:在设置标题文本时使用.
如果您将 AttributedString 设置为 UIButton,那么您可以执行以下操作。
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)
Run Code Online (Sandbox Code Playgroud)
看看这里。
您应该设置按钮的 titleLabel 的字体。
myButton.titleLabel!.font = UIFont(name: "...", 10)
Run Code Online (Sandbox Code Playgroud)
我们可以使用不同类型的系统字体,如下所示
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)
Run Code Online (Sandbox Code Playgroud)
和您的自定义字体,如下所示
myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)
Run Code Online (Sandbox Code Playgroud)
在 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)
Run Code Online (Sandbox Code Playgroud)
但是,我的字体大小没有变化.事实证明,我要求一个不存在的字体("HelveticaNeue-Regular").它没有导致崩溃,但似乎只是因为它忽略了那个字体语句.一旦我将字体更改为确实存在的字体,对"size:x"的更改就会呈现.
小智 5
这适用于 Swift 3.0:
btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20)
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您只需要更改大小(Swift 4.0):
button.titleLabel?.font = button.titleLabel?.font.withSize(12)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
150322 次 |
| 最近记录: |