我试图改变一个UIButton的字体使用Swift…
myButton.font = UIFont(name: "...", 10)
然而.font已弃用,我不确定如何改变字体,否则。
有什么建议吗?
我试图改变一个UIButton的字体使用Swift…
myButton.font = UIFont(name: "...", 10)
然而.font已弃用,我不确定如何改变字体,否则。
有什么建议吗?
当前回答
您不需要强制打开titleLabel来设置它。
myButton.titleLabel ?。字体= UIFont(名称:YourfontName,大小:20)
因为你没有在这里使用titleLabel,你可以选择使用它,如果它是nil,它将只是一个无操作。
我还将添加其他人所说的,字体属性已弃用,并确保在设置标题文本时使用setTitle:forControlState:。
其他回答
要使用故事板完成此操作,请在选中按钮时转到属性检查器。在顶部的第三个字段(“标题”)选择“已归属”。这将弹出字体下拉列表,您可以轻松更改字体。
在Swift 5中,你可以利用点表示法来实现更快的语法:
myButton.titleLabel ?。font = .systemFont(ofSize: 14, weight: .medium)
否则,你将使用:
myButton.titleLabel ?。font = UIFont。systemFont(ofSize: 14, weight: .medium)
您不需要强制打开titleLabel来设置它。
myButton.titleLabel ?。字体= UIFont(名称:YourfontName,大小:20)
因为你没有在这里使用titleLabel,你可以选择使用它,如果它是nil,它将只是一个无操作。
我还将添加其他人所说的,字体属性已弃用,并确保在设置标题文本时使用setTitle:forControlState:。
从文档中可以看到:
用于在按钮上显示文本的字体。(在iOS 3.0中已弃用。使用titleLabel的字体属性。)
如果你将AttributedString设置为UIButton,那么你可以做下面的事情。
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)