我已经以编程方式创建了一个标签,我已将adjustsToFitWidth设置为true。现在我想改变它的字体,但是如果不使标签的字体大小不变,我就不能这样做。有人知道我怎么能只更改swift中UILabel的字体而不是字体大小?
答案 0 :(得分:35)
为什么不获取字体大小,并指定具有此值的新字体?
let fontSize = self.label.font.pointSize;
self.label.font = UIFont(name: "HelveticaNeue", size: fontSize)
答案 1 :(得分:4)
你可以这样做:
label.font = UIFont(name: "Arial", size: label.font.pointSize)
这将使用相同的字体大小,“Arial”可以是您想要选择的任何家庭。
答案 2 :(得分:2)
改进的答案。
UILabel Subclassing:添加一个空的swift文件并命名。 e.g..EZLabel。添加以下代码。
<div class="col-1">
<ul>
<li>text1</li>
<li>text2</li>
</ul>
</div>
<div class="col-2">
<ul>
<li>text3</li>
<li>text4</li>
</ul>
</div>
优点是,如果需要,您不需要更改整个项目中的每个UILabel字体。
答案 3 :(得分:1)
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 */