如何在 Swift 中更改 UILabel 的字体大小?

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

328478 次浏览

你可以这样做:

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

或者像这样:

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

这将使用相同的字体。20当然可以是你想要的任何尺寸。

后一个选项将覆盖当前字体粗细到regular,所以如果你想保留字体粗细,请使用第一个选项。

Swift 3更新:

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

Swift 4更新:

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

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)

我认为这样做的最好方法-如果保持已经分配给UILabel的相同字体将是:

(使用斯威夫特)

label.font = label.font.fontWithSize(20)

(使用Swift 3)

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

理想情况下,我将在viewDidLayoutSubviews方法中设置此值,因为它不需要在每次视图出现时都更改。

如果你只是想改变你的字体大小,我创建这个扩展

// Add extension


extension UILabel {
func setSizeFont (sizeFont: Double) {
self.font =  UIFont(name: self.font.fontName, size: sizeFont)!
self.sizeToFit()
}
}


// Use


myLabel.setSizeFont(60)
label.font = UIFont.systemFontOfSize(20)

我们可以根据我们的要求设置字体,

label.font = UIFont(name: "Avenir-Light", size: 15.0)
label.font = UIFont.boldSystemFontOfSize(15)
label.font = UIFont.italicSystemFontOfSize(15)
label.font = UIFont.systemFontOfSize(17)

我使用fontWithSize作为一个带有浅色系统字体的标签,但它会变回正常的系统字体。

如果你想保持字体的特征,最好包括描述符。

label.font = UIFont(descriptor: label.font.fontDescriptor(), size: 16.0)

在Swift 3中:

label = UIFont.systemFont(ofSize: 20)

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

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

再次在Swift 3中…

myLabel.font = myLabel.font.withSize(18)
在swift3 < p >, 假设你的可用名称是myLable,你想改变它的字体大小 这样做< / p >
myLable.font = UIFont.systemFont(ofSize: 10)

斯威夫特3

label.font.withSize(16)

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

斯威夫特3.1

标签。font = Label.font.withSize(NewValue)

斯威夫特- 3.1

标签。font = UIFont。systemFont (ofSize: 12)

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

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

enter image description here

你可以使用分机。

import UIKit


extension UILabel {


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

使用它:

self.myLabel.fontSize(100)
苹果总是无缘无故地改变东西: 斯威夫特4 +:< / p >
myLabel.font = UIFont.systemFont(ofSize: 16)

感谢苹果公司浪费了人们的时间来弄清楚他们需要使用什么“字体大小”的方法!

以编程方式

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(Zero),这将在标签中显示多行。

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

enter image description here

如果你想为标签单击Autoshrink选择最小字体大小选项设置最小字体大小

请看下面的屏幕

enter image description here

这里设置最小字体大小

例:9(在这张图中)

如果你的标签得到更多的文本在那个时候,你的标签文本将缩小到9

enter image description here

斯威夫特4.2

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

swift 4:

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

同样,如果你想在项目中的所有视图中设置标签字体,请在appDelegate>didFinishLaunch中尝试: UILabel.appearance().font = UIFont("your font name", size: 15) < / p >

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

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

enter image description here

如果你只是对使用其中一种文本样式感兴趣,请使用:

label.font = .preferredFont(forTextStyle: .headline)

标题可以是。body,。callout,…