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

Jay*_*Jay 230 uilabel ios swift

label.font.pointSize 是只读的,所以我不知道如何改变它.

Con*_*nor 540

你可以这样做:

label.font = UIFont(name: label.font.fontName, size: 20)
Run Code Online (Sandbox Code Playgroud)

或者像这样:

label.font = label.font.withSize(20)
Run Code Online (Sandbox Code Playgroud)

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

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

Swift 3更新:

label.font = label.font.withSize(20)
Run Code Online (Sandbox Code Playgroud)

Swift 4更新:

label.font = label.font.withSize(20)
Run Code Online (Sandbox Code Playgroud)

要么

label.font = UIFont(name:"fontname", size: 20.0)
Run Code Online (Sandbox Code Playgroud)

如果你使用系统字体

label.font = UIFont.systemFont(ofSize: 20.0)
label.font = UIFont.boldSystemFont(ofSize: 20.0)
label.font = UIFont.italicSystemFont(ofSize: 20.0)
Run Code Online (Sandbox Code Playgroud)

  • 这实际上改变了pointSize属性的字体.但是,在重新绘制标签之前,pointSize会立即重置为17.0.因此,实际上在屏幕上看到不同的字体大小要比它更多. (5认同)
  • 当我用google搜索这个而不仅仅是查找文档时,文档出现了严重问题,因为我知道它会更快. (5认同)

小智 72

我认为最好的方法是 - 如果保持已经分配给它的相同字体UILabel 将是:

(使用Swift)

label.font = label.font.fontWithSize(20)
Run Code Online (Sandbox Code Playgroud)

(使用Swift 3)

label.font = label.font.withSize(20)
Run Code Online (Sandbox Code Playgroud)

理想情况下,我会在viewDidLayoutSubviews方法中设置它,因为每次视图出现时都不需要更改.


ma1*_*w28 39

label.font = UIFont.systemFontOfSize(20)
Run Code Online (Sandbox Code Playgroud)

  • label.font = UIFont.systemFont(ofSize:20)//在swift 3中 (5认同)

Gau*_*iya 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)
Run Code Online (Sandbox Code Playgroud)


Yan*_*eph 8

如果您只想更改字体的大小,我创建此扩展名

// Add extension

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

// Use

myLabel.setSizeFont(60)
Run Code Online (Sandbox Code Playgroud)


San*_*nto 5

你也可以这样给

labelName.font = UIFont(name: "systemFont", size: 30)
Run Code Online (Sandbox Code Playgroud)


Dav*_*nte 5

再次在 Swift 3 中...

myLabel.font = myLabel.font.withSize(18)
Run Code Online (Sandbox Code Playgroud)