it-roy-ru.com

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

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

200
Jay

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

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)
463
Connor

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

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

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

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

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

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

69
mouselangelo
label.font = UIFont.systemFontOfSize(20)
39
ma11hew28

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

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

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

// Add extension

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

// Use

myLabel.setSizeFont(60)
8
YannickSteph

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

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

Swift-3.1

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

4
aqsa arshad

В Swift 3 снова ...

myLabel.font = myLabel.font.withSize(18)
4
David DelMonte

В Swift3, Предположим, что ваше имя UILable - myLable, и вы хотите изменить его размер шрифта.

myLable.font = UIFont.systemFont(ofSize: 10)
3
Dilip Jangid

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

import UIKit

extension UILabel {

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

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

self.myLabel.fontSize(100)
2
lhmgrassi

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

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

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

2
Mujtaba Mahmood

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

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

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

1
Ikhsan Assaat

В Swift 3:

label = UIFont.systemFont(ofSize: 20)

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

label = UIFont.systemFont(ofSize: UIFont.smallSystemFontSize)
1
Casey Murray

Swift 4.2

myLabel.font = UIFont.systemFont(ofSize: 12)
0
Elshad Karimov

Программный

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

Здесь задайте минимальный размер шрифта

EX: 9 (на этом изображении)

Если ваш ярлык получит больше текста, текст ярлыка будет уменьшен до 9

 enter image description here

0
iOS

Swift 3.1

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

0
Ittai Oren

Swift 3

label.font.withSize(16)
0
matt

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

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

 enter image description here

0
Fangming

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
Adam Smaka