如何在不改变字体大小的情况下在swift中更改UILabel的字体?

时间:2015-06-27 16:34:51

标签: ios swift fonts labels

我已经以编程方式创建了一个标签,我已将adjustsToFitWidth设置为true。现在我想改变它的字体,但是如果不使标签的字体大小不变,我就不能这样做。有人知道我怎么能只更改swift中UILabel的字体而不是字体大小?

4 个答案:

答案 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 */