如何使用Swift默认UILabel字体和大小

nin*_*ne9 8 uilabel ios uiappearance swift

我发现UISegmentedControl更改字体和大小如下:

UISegmentedControl.appearance().setTitleTextAttributes(myFontAttribute as [NSObject : AnyObject] , forState: .Normal)

但是UILabel没有这种方法

我想这样做

UILabel.appearance().setAttributed(myFontAttribute)

我不想在StoryBoard中更改UILabel字体

我想使用程序来执行此操作(因为我的应用程序已完成,但只有字体应更改为更大和其他字体)

我该怎么办 ?

Ole*_*man 31

首先,您需要为UILabel添加扩展:

extension UILabel{
    var defaultFont: UIFont? {
        get { return self.font }
        set { self.font = newValue }
    }
}
Run Code Online (Sandbox Code Playgroud)

第二次使用外观设置它:

    UILabel.appearance().defaultFont = UIFont.systemFont(ofSize: 25)
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.

  • 这是无价的。这是我的应用方式。http://stackoverflow.com/questions/41138367/how-do-i-rewrite-a-uilabel-after-it-is-add-to-a-subview (3认同)

Ras*_*n L 11

您可以像这样以编程方式更改标签字体

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

仅使用粗体更改字体大小

label.font = UIFont.boldSystemFontOfSize(18)
Run Code Online (Sandbox Code Playgroud)

仅更改字体大小

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