Ich versuche, die Schriftart eines UIButton mit Swift zu ändern ...
myButton.font = UIFont(name: "...", 10)
Ist .font
jedoch veraltet und ich bin nicht sicher, wie ich die Schriftart anders ändern soll.
Irgendwelche Vorschläge?
Verwenden Sie titleLabel
stattdessen. Die font
Eigenschaft ist in iOS 3.0 veraltet. Es funktioniert auch nicht in Objective-C. titleLabel
ist das Etikett, auf dem der Titel angezeigt wird UIButton
.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Beim Festlegen von Titeltext sollten Sie jedoch nur verwenden setTitle:forControlState:
. Verwenden Sie diese Option nicht titleLabel
, um Text direkt für den Titel festzulegen.
titleLabel
ist eine optionale Eigenschaft. Vielen Dank, dass dies zuvor in der Beta nicht der Fall war.myButton.titleLabel?.font = ...
wird seit funktionieren , wenn Titlelabel Null ist es nur einen no-op sein wirdFür Swift 3.0 :
Dabei können "boldSystemFont" und "16" durch Ihre benutzerdefinierte Schriftart und Größe ersetzt werden.
quelle
Die Punktnotation ist fantastisch (schnell 4.2) 👌
quelle
Sie müssen das titleLabel nicht zwangsweise auspacken, um es festzulegen.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Da Sie das titleLabel hier nicht verwenden, können Sie es optional verwenden. Wenn es gleich Null ist, ist es nur ein No-Op.
Ich werde auch hinzufügen, wie andere Leute sagen, dass die Schriftart-Eigenschaft veraltet ist, und stellen Sie sicher, dass Sie sie
setTitle:forControlState:
beim Festlegen des Titeltextes verwenden.quelle
Aus der Dokumentation :
quelle
Wenn Sie Probleme mit der Schriftgröße haben (Ihre Schrift reagiert nicht auf Größenänderungen) ...
@codester hat den richtigen Code:
Meine Schriftgröße änderte sich jedoch nicht. Es stellt sich heraus, dass ich nach einer nicht existierenden Schriftart frage ("HelveticaNeue-Regular"). Es verursachte keinen Absturz, schien diese Schriftanweisung jedoch nur zu ignorieren. Nachdem ich die Schriftart in eine vorhandene Schriftart geändert hatte, wurden Änderungen an "size: x" gerendert.
quelle
Wir können verschiedene Arten von Systemschriftarten wie unten verwenden
und Ihre benutzerdefinierte Schriftart wie unten
quelle
Sie sollten durch das
titleLabel
Grundstück gehen.button.titleLabel.font
Die
font
Eigenschaft ist seit iOS 3.0 veraltet.quelle
Schauen Sie hier .
Sie sollten stattdessen die Schriftart des titleLabel der Schaltfläche festlegen.
quelle
Dies funktioniert in Swift 3.0:
quelle
Wenn Sie AttributedString auf den UIButton setzen, können Sie Folgendes tun.
quelle
Wenn Sie nur die Größe ändern müssen ( Swift 4.0 ):
quelle
Beispiel:
button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
quelle
Dieser Weg funktioniert jetzt nicht:
Das funktioniert:
quelle
diese Arbeit für mich, danke. Ich möchte nur die Textgröße ändern, nicht den Schriftnamen.
btnMenu9.titleLabel? .font = .systemFont (ofSize: CGFloat (fontSizeButtonBig))
quelle