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)

其他回答

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

如果你想使用粗体自定义字体选项:

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

你可以这样做:

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)

你也可以这样给予

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

斯威夫特3.1

标签。font = Label.font.withSize(新值)