我正在尝试使用Swift更改UIButton的字体...
myButton.font = UIFont(name: "...", 10)
但是.font
已弃用,我不知道如何更改字体.
有什么建议?
请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"可以替换为您的自定义字体和大小.
如果您遇到字体大小问题(您的字体没有响应大小更改)...
@codester有正确的代码:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
但是,我的字体大小没有变化.事实证明,我要求一个不存在的字体("HelveticaNeue-Regular").它没有导致崩溃,但似乎只是因为它忽略了那个字体语句.一旦我将字体更改为确实存在的字体,对"size:x"的更改就会呈现.
您无需强制打开titleLabel来设置它.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
既然你没有在这里使用titleLabel,你可以选择使用它,如果它没有,它只是一个无操作.
我还会像其他人一样说,不推荐使用font属性,并确保setTitle:forControlState:
在设置标题文本时使用.
从文档:
用于在按钮上显示文本的字体.(在iOS 3.0中不推荐使用.使用相反的
font
属性titleLabel
.)
btn.titleLabel?.font = .systemFont(ofSize: 12)