web-dev-qa-db-ger.com

Wie ändere ich die Schriftgröße eines UILabels in Swift?

label.font.pointSize ist schreibgeschützt, daher bin ich nicht sicher, wie er geändert werden soll.

200
Jay

Sie können es so machen:

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

Oder so:

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

Dies wird die gleiche Schriftart verwenden. 20 kann natürlich beliebig groß sein.

Hinweis: Die letztere Option überschreibt die aktuelle Schriftstärke in regular. Wenn Sie die Schriftstärke beibehalten möchten, verwenden Sie die erste Option.

Swift 3 Update :

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

Swift 4 Update :

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

oder

label.font = UIFont(name:"fontname", size: 20.0)

und wenn Sie die Systemschriftarten verwenden

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

Ich denke, der beste Weg dies zu tun - wenn die gleiche Schriftart, die bereits der UILabel zugewiesen ist, beibehalten wird, wäre:

(mit Swift)

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

(mit Swift 3)

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

Idealerweise würde ich dies in der viewDidLayoutSubviews-Methode festlegen, da sie nicht jedes Mal geändert werden muss, wenn die Ansicht erscheint.

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

Wir können die Schrift nach unserer Anforderung einstellen,

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

Wenn Sie nur die Schriftgröße ändern möchten, erstelle ich diese Erweiterung

// 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

Sie können auch so geben

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

Swift-3.1

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

4
aqsa arshad

In Swift 3 wieder ...

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

Angenommen, Ihr UILable-Name ist in Swift3 myLable

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

Sie können eine Erweiterung verwenden.

import UIKit

extension UILabel {

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

Um es zu benutzen:

self.myLabel.fontSize(100)
2
lhmgrassi

Apple verändert die Dinge ohne Grund: Swift 4+:

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

vielen Dank, dass Sie Apple Zeit verschwenden, um herauszufinden, welche "Schriftgrößen" -Methoden sie verwenden müssen!

2
Mujtaba Mahmood

Ich habe fontWithSize für eine Beschriftung mit Light-Systemschrift verwendet, aber es wird wieder zur normalen Systemschrift geändert.

Wenn Sie die Merkmale der Schriftart beibehalten möchten, sollten Sie die Deskriptoren einbeziehen.

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

1
Ikhsan Assaat

In Swift 3:

label = UIFont.systemFont(ofSize: 20)

und um voreingestellte Systemgrößen zu verwenden, zum Beispiel:

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

Swift 4.2

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

Programmatisch

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

Durch das Storyboard

Um mehrere Zeilen mit dem Wert 0 (Null) anzuzeigen, werden auf Ihrem Etikett mehr als eine Zeile angezeigt.

Wenn Sie nur 2 Zeilen anzeigen möchten, setzen Sie 2.

 enter image description here

Wenn Sie die minimale Schriftgröße für die Beschriftung festlegen möchten Klicken Sie auf die Option Autoshrink und Minimale Schriftgröße auswählen

Siehe folgende Bildschirme

 enter image description here

Hier stellen Sie die minimale Schriftgröße ein

EX: 9 (In diesem Bild)

Wenn Ihr Label zu diesem Zeitpunkt mehr Text erhält, wird der Text auf 9 verkleinert

 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

Swift 4:

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

auch wenn Sie die Beschriftungsschriftart in allen Ansichten Ihres Projekts festlegen möchten, versuchen Sie dies in appDelegate>didFinishLaunch: UILabel.appearance().font = UIFont("your font name", size: 15).

0
ZahraAsgharzade

Es ist sehr einfach und bequem, die Schriftgröße über das Storyboard zu ändern, und Sie können sofort das Ergebnis der Änderung sehen.

Tatsächlich ist es auch sehr einfach, andere Schriftattribute wie Story, Schriftfamilie usw. im Storyboard zu ändern.

 enter image description here

0
Fangming

Schnell 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