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


当前回答

你可以这样做:

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

或者像这样:

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

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

注意:后一个选项将覆盖当前的字体粗细为常规,所以如果你想保留字体粗细使用第一个选项。

Swift 3更新:

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

Swift 4更新:

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

or

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)

其他回答

在swift3, 假设你的可用名称是myLable,你想改变它的字体大小 这样做

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

你可以这样做:

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

或者像这样:

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

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

注意:后一个选项将覆盖当前的字体粗细为常规,所以如果你想保留字体粗细使用第一个选项。

Swift 3更新:

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

Swift 4更新:

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

or

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)

斯威夫特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()
        }
    }
}

我使用fontWithSize标签与轻系统字体,但它改变回正常的系统字体。

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

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

你也可以这样给予

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