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


当前回答

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

其他回答

你可以这样做:

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)

斯威夫特4:

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

另外,如果你想在项目中的所有视图中设置标签字体,请尝试在appDelegate>didFinishLaunch中执行此操作: UILabel.appearance()。font = UIFont("你的字体名称",字号:15)

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

实际上,改变storyboard上的其他字体属性也很容易,比如样式、字体族等。

label.font = UIFont.systemFontOfSize(20)

斯威夫特4.2

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