[英]How do I change the font of a UILabel in swift without changing the font size?
我已经以编程方式创建了一个标签,我已将adjustsToFitWidth设置为true。 现在我想改变它的字体,但是如果不使标签的字体大小不变,我就不能这样做。 有人知道我怎么能只改变swift中UILabel的字体而不是字体大小?
为什么不获取字体大小,并指定具有此值的新字体?
let fontSize = self.label.font.pointSize;
self.label.font = UIFont(name: "HelveticaNeue", size: fontSize)
你可以这样做:
label.font = UIFont(name: "Arial", size: label.font.pointSize)
这将使用相同的字体大小,“Arial”可以是您想要选择的任何家庭。
一个改进的答案。
UILabel子类化:添加一个空的swift文件并命名。 eg.EZLabel。 添加以下代码。
import Foundation
import UIKit
class EZLabel: UILabel {
override func awakeFromNib() {
super.awakeFromNib()
changeFontName()
}
func changeFontName()
{
self.font = UIFont(name: "Roboto", size: self.font.pointSize)
}
}
优点是,如果需要,您无需在整个项目中更改每个UILabel的字体。
extension UILabel {
override open func awakeFromNib() {
super.awakeFromNib()
changeFontName()
}
func changeFontName()
{
self.font = UIFont(name: "YOUR_FONT_NAME", size: self.font.pointSize)
}
}
/* Do this also for buttons and any uiviews */
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.