我该如何在Swift中改变UILabel的字体大小?

299

label.font.pointSize 是只读属性,我不确定如何更改它。


扩展 UILabel{func font(size: CGFloat){ self.font = UIFont(descriptor: self.font.fontDescriptor, size: size) }} - Mohammad Razipour
21个回答

2
你可以使用一个扩展。
import UIKit

extension UILabel {

    func sizeFont(_ size: CGFloat) {
        self.font = self.font.withSize(size)
    }
}

如何使用:

self.myLabel.fontSize(100)

2

苹果总是无缘无故地改变事物:

Swift 4+:

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

感谢苹果浪费人们的时间来找出需要使用的“字体大小”方法!

2

编程方式

label.font = UIFont.systemFont(ofSize: 20.0)
label.font = UIFont.boldSystemFont(ofSize: 20.0)
label.font = UIFont.italicSystemFont(ofSize: 20.0)

label.font = UIFont(name:"Helvetica Neue", size: 20.0)//Set your font name here

通过故事板

要显示多行,请将0(零)设置为此项,这将在标签中显示多行。

如果您只想显示2行,请将其设置为2。

enter image description here

如果要为标签设置最小字体大小,请单击“自动缩小”并选择“最小字体大小”选项

请参见以下屏幕

enter image description here

在此处设置最小字体大小

例如:9(在此图像中)

如果您的标签获得更多文本,则标签文本将缩小至9

enter image description here


2

Swift 4.2

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

1

在Swift 3中:

label = UIFont.systemFont(ofSize: 20)

并使用系统预设大小,例如:

label = UIFont.systemFont(ofSize: UIFont.smallSystemFontSize)

我认为您忘记了label.font。 - Ethan Parker

1
我使用了 fontWithSize 来设置轻量级系统字体的标签,但它会变回正常的系统字体。
如果想保留字体的特性,最好包含描述符。 label.font = UIFont(descriptor: label.font.fontDescriptor(), size: 16.0)

0

Swift 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()
        }
    }
}

0

Swift 4:

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

如果您想在项目中的所有视图中设置标签字体,请尝试在appDelegate>didFinishLaunch中添加以下代码:

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

0

Swift 3

label.font.withSize(16)

-1

从Storyboard更改字体大小非常容易和方便,您可以立即看到更改的结果。

实际上,在Storyboard上更改其他字体属性也很容易,例如样式、字体系列等。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接