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?
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?
Antworten:
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 wird
Für Swift 3.0 :
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
Dabei können "boldSystemFont" und "16" durch Ihre benutzerdefinierte Schriftart und Größe ersetzt werden.
btn.titleLabel?.font = .systemFont(ofSize: 12)
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.
Aus der Dokumentation :
Die Schriftart, mit der Text auf der Schaltfläche angezeigt wird. ( In iOS 3.0 veraltet . Verwenden Sie stattdessen die
font
Eigenschaft vontitleLabel
.)
Wenn Sie Probleme mit der Schriftgröße haben (Ihre Schrift reagiert nicht auf Größenänderungen) ...
@codester hat den richtigen Code:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
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.
Wir können verschiedene Arten von Systemschriftarten wie unten verwenden
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)
und Ihre benutzerdefinierte Schriftart wie unten
myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)
Sie sollten durch das titleLabel
Grundstück gehen.
button.titleLabel.font
Die font
Eigenschaft ist seit iOS 3.0 veraltet.
Wenn Sie AttributedString auf den UIButton setzen, können Sie Folgendes tun.
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)
Beispiel: button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)