Как изменить размер шрифта UILabel в Swift?

label.font.pointSize доступен только для чтения, поэтому я не уверен, как его изменить.

Ответ 1

Вы можете сделать это так:

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

Или вот так:

label.font = label.font.fontWithSize(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)

Ответ 2

Я думаю, что лучший способ сделать это - если сохранить тот же шрифт, который уже назначен UILabel, будет:

(с помощью Swift)

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

(используя Swift 3)

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

В идеале я бы установил это в методе viewDidLayoutSubviews, так как он не должен меняться каждый раз, когда появляется представление.

Ответ 3

label.font = UIFont.systemFontOfSize(20)

Ответ 4

Мы можем установить шрифт согласно нашему требованию, например,

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

Ответ 5

Если вы хотите изменить размер шрифта, я создаю это расширение

// Add extension

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

// Use

myLabel.setSizeFont(60)

Ответ 6

Вы также можете указать

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

Ответ 7

В Swift 3 снова...

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

Ответ 8

Свифта-3,1

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

Ответ 9

В swift3, предположим, что ваше имя UILable - myLable, и вы хотите изменить его размер шрифта сделайте это

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

Ответ 10

Вы можете использовать расширение.

import UIKit

extension UILabel {

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

Чтобы использовать его:

self.myLabel.fontSize(100)

Ответ 11

Apple продолжает что-то менять без причины: Swift 4+:

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

спасибо apple за потраченное время, чтобы выяснить, какие методы "размера шрифта" им нужно использовать!

Ответ 12

Я использовал fontWithSize для ярлыка со шрифтом светлой системы, но он возвращается к обычному системному шрифту.

Если вы хотите сохранить черты шрифта, лучше включить дескрипторы.

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

Ответ 13

В Swift 3:

label = UIFont.systemFont(ofSize: 20)

и использовать размеры предустановок системы, например:

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

Ответ 14

Swift 3

label.font.withSize(16)

Ответ 15

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

Ответ 16

SWIFT 3.1

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

Ответ 17

Очень легко и удобно изменять размер шрифта из раскадровки, и вы можете сразу увидеть результат изменения.

На самом деле также очень легко изменить другие атрибуты шрифта в раскадровке, например стиль, семейство шрифтов и т.д.

введите описание изображения здесь

Ответ 18

Программный

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

Ответ 19

Swift 4.2

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

Ответ 20

nameLabel.font = nameLabel.font.withSize(14.0)