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

时间:2016-03-31 03:45:46

标签: ios swift uilabel uiappearance

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

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

但UILabel没有这种方法

我想做

UILabel.appearance().setAttributed(myFontAttribute)

我不想在StoryBoard中更改UILabel字体

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

我该怎么办?

4 个答案:

答案 0 :(得分:30)

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

extension UILabel{
    var defaultFont: UIFont? {
        get { return self.font }
        set { self.font = newValue }
    }
}

第二次使用外观来设置它:

    UILabel.appearance().defaultFont = UIFont.systemFont(ofSize: 25)

希望它有所帮助。

答案 1 :(得分:11)

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

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

仅使用粗体

更改字体大小
label.font = UIFont.boldSystemFontOfSize(18)

仅更改字体大小

label.font = label.font.fontWithSize(14)

答案 2 :(得分:2)

如果要更改字体大小,请在下面的代码行中使用:

对于Swift 3

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

答案 3 :(得分:0)

您可以在swift中使用这个简单的代码

myLabel.attributedText = NSMutableAttributedString(string: myLabel.text!, attributes: [NSFontAttributeName:UIFont(name: "YourFont", size: 12), NSForegroundColorAttributeName: UIColor.whiteColor()])