ChatGPT解决这个技术问题 Extra ChatGPT

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

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

扩展 UILabel{ func font(size: CGFloat){ self.font = UIFont(descriptor: self.font.fontDescriptor, size: size) } }

P
PhillipJacobs

你可以这样做:

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

或者像这样:

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

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

注意:后一个选项会将当前字体粗细覆盖为 regular,因此如果您想保留字体粗细,请使用第一个选项。

斯威夫特 3 更新:

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

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

这实际上改变了字体的 pointSize 属性。但是,在重绘标签之前,pointSize 会立即重置为 17.0。所以除了在屏幕上实际看到不同的字体大小之外,还有更多的事情要做。
您是否在任何地方都将字体设置为 17?故事板?
我在我的 iPhone 5 上运行它并且你的代码有效。应该是模拟器的bug。
那很有意思。不过,看到另一个错误并不感到惊讶。很高兴它正在工作
当我只是用谷歌搜索而不是仅仅查找它时,文档存在严重问题,因为我知道它会更快。
H
Hamid Shahsavari

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

(使用斯威夫特)

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

(使用 Swift 3)

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

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


m
ma11hew28
label.font = UIFont.systemFontOfSize(20)

label.font = UIFont.systemFont(ofSize: 20) // 在 swift 3
此解决方案不适用于自定义字体。它总是返回系统字体。
G
Gautam Sareriya

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

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

Y
YannSteph

如果您只想更改字体的大小,我会创建此扩展名

// Add extension

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

// Use

myLabel.setSizeFont(60)

这对我有帮助。我改变了字体大小,它在 swift 4 中工作。
D
Dharmesh Kheni

你也可以这样给

labelName.font = UIFont(name: "systemFont", size: 30)

I
ICL1901

再次在 Swift 3 中...

myLabel.font = myLabel.font.withSize(18)

D
Dilip Jangid

在 swift3 中,假设您的 UILable 名称是 myLable 并且您想更改其字体大小,请执行此操作

myLable.font = UIFont.systemFont(ofSize: 10)

a
aqsa arshad

斯威夫特-3.1

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


l
lhmgrassi

您可以使用扩展程序。

import UIKit

extension UILabel {

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

要使用它:

self.myLabel.fontSize(100)

M
Mujtaba Mahmood

苹果无缘无故地不断改变:Swift 4+:

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

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


N
Naresh

以编程方式

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。

https://i.stack.imgur.com/HHEm6.png

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

请参阅以下屏幕

https://i.stack.imgur.com/hGDFi.png

这里设置最小字体大小

例如:9(在这张图片中)

如果您的标签当时有更多文本,您的标签文本将缩小到 9

https://i.stack.imgur.com/cHoi7.png


E
Elshad Karimov

斯威夫特 4.2

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

f
fullmoon

如果您想使用带有粗体选项的自定义字体:

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

I
Ikhsan Assaat

我将 fontWithSize 用于带有浅色系统字体的标签,但它会变回正常的系统字体。

如果要保留字体的特征,最好包含描述符。

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


C
Casey Murray

在斯威夫特 3 中:

label = UIFont.systemFont(ofSize: 20)

并使用系统预设尺寸,例如:

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

我想你忘记了 label.font
m
matt

斯威夫特 3

label.font.withSize(16)

A
Adam Smaka

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

Z
ZahraAsgharzade

swift 4:

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

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


I
Ittai Oren

斯威夫特 3.1

Label.font = Label.font.withSize(NewValue)


这是不正确的,也不是使用 Cocoa 命名约定编写的。
F
Fangming

从情节提要更改字体大小非常简单方便,您可以立即看到更改的结果。

实际上,改变故事板上的其他字体属性也很容易,比如样式、字体系列等。

https://i.stack.imgur.com/eubAL.gif