如何在Swift中更改UILabel的字体大小?

时间:2014-06-23 00:04:38

标签: ios uilabel swift

label.font.pointSize是只读的,所以我不确定如何更改它。

22 个答案:

答案 0 :(得分:495)

你可以这样做:

label.font = UIFont(name: label.font.fontName, size: 20)

或者像这样:

label.font = label.font.fontWithSize(20)

这将使用相同的字体。 20当然可以是你想要的任何尺寸。

注意:后一个选项会将当前字体粗体覆盖为regular,因此如果您想保留字体粗细,请使用第一个选项。

Swift 3更新

label.font = label.font.withSize(20)

Swift 4更新

label.font = label.font.withSize(20)

label.font = UIFont(name:"fontname", size: 20.0)

如果您使用系统字体

label.font = UIFont.systemFont(ofSize: 20.0)
label.font = UIFont.boldSystemFont(ofSize: 20.0)
label.font = UIFont.italicSystemFont(ofSize: 20.0)

答案 1 :(得分:71)

我认为最好的方法是 - 如果保留已分配给UILabel的相同字体,则为:

(使用Swift)

label.font = label.font.fontWithSize(20)

(使用Swift 3)

label.font = label.font.withSize(20)

理想情况下,我会在viewDidLayoutSubviews方法中进行设置,因为每次视图显示时都不需要更改。

答案 2 :(得分:39)

label.font = UIFont.systemFontOfSize(20)

答案 3 :(得分:24)

我们可以根据我们的要求设置字体,例如

label.font = UIFont(name: "Avenir-Light", size: 15.0)
label.font = UIFont.boldSystemFontOfSize(15)
label.font = UIFont.italicSystemFontOfSize(15)
label.font = UIFont.systemFontOfSize(17)

答案 4 :(得分:8)

如果您只想更改字体大小,请创建此扩展程序

// Add extension

extension UILabel {
    func setSizeFont (sizeFont: Double) {
        self.font =  UIFont(name: self.font.fontName, size: sizeFont)!
        self.sizeToFit()
    }
}

// Use

myLabel.setSizeFont(60)

答案 5 :(得分:4)

你也可以这样给出

labelName.font = UIFont(name: "systemFont", size: 30)

答案 6 :(得分:4)

<强>夫特-3.1

label.font = UIFont.systemFont(ofSize:12)

答案 7 :(得分:4)

再次在Swift 3中......

myLabel.font = myLabel.font.withSize(18)

答案 8 :(得分:3)

在swift3中, 假设您的UILable名称是myLable,并且您想要更改其字体大小 这样做

myLable.font = UIFont.systemFont(ofSize: 10)

答案 9 :(得分:2)

您可以使用扩展程序。

import UIKit

extension UILabel {

    func sizeFont(_ size: CGFloat) {
        self.font = self.font.withSize(size)
    }
}

使用它:

self.myLabel.fontSize(100)

答案 10 :(得分:2)

Apple无缘无故地改变事物: Swift 4 +:

myLabel.font = UIFont.systemFont(ofSize: 16)

感谢苹果浪费时间来弄清楚他们需要使用的“字体大小”方法!

答案 11 :(得分:1)

在Swift 3中:

label = UIFont.systemFont(ofSize: 20)

并使用系统预设尺寸,例如:

label = UIFont.systemFont(ofSize: UIFont.smallSystemFontSize)

答案 12 :(得分:1)

我使用fontWithSize作为带有灯光系统字体的标签,但它会更改回正常的系统字体。

如果你想保留字体的特征,最好包括描述符。

label.font = UIFont(descriptor: label.font.fontDescriptor(), size: 16.0)

答案 13 :(得分:0)

swift 4:

label.font = UIFont("your font name", size: 15)

如果您还想在项目的所有视图中设置标签字体,请在appDelegate>didFinishLaunch中尝试以下操作: UILabel.appearance().font = UIFont("your font name", size: 15)

答案 14 :(得分:0)

Swift 4.2

myLabel.font = UIFont.systemFont(ofSize: 12)

答案 15 :(得分:0)

如果要使用带有粗体选项的自定义字体:

nameLabel.font = UIFont(name: "GillSans-Bold", size: 27)

答案 16 :(得分:0)

以编程方式

label.font = UIFont.systemFont(ofSize: 20.0)
label.font = UIFont.boldSystemFont(ofSize: 20.0)
label.font = UIFont.italicSystemFont(ofSize: 20.0)

label.font = UIFont(name:"Helvetica Neue", size: 20.0)//Set your font name here

通过故事板

要显示多行设置为0(零),则标签中将显示多行。

如果只想显示2行,请设置2。

enter image description here

如果您要设置标签的最小字体大小,请点击自动收缩,然后选择选择最小字体大小选项

请参见以下屏幕

enter image description here

此处设置了最小字体大小

EX:9(在此图片中)

如果您的标签当时有更多文本,您的标签文本将缩小到9

enter image description here

答案 17 :(得分:0)

从故事板中更改字体大小非常简单方便,您可以立即看到更改的结果。

实际上,在故事板上也可以很容易地更改其他字体属性,如样式,字体系列等。

enter image description here

答案 18 :(得分:0)

SWIFT 3.1

Label.font = Label.font.withSize(NewValue)

答案 19 :(得分:0)

Swift 3.1

import UIKit

extension UILabel {
    var fontSize: CGFloat {
        get {
            return self.font.pointSize
        }
        set {
            self.font =  UIFont(name: self.font.fontName, size: newValue)!
            self.sizeToFit()
        }
    }
}

答案 20 :(得分:0)

Swift 3

label.font.withSize(16)

答案 21 :(得分:-1)

nameLabel.font = nameLabel.font.withSize(14.0)