Sto cercando di cambiare il carattere di un UIButton usando Swift ...
myButton.font = UIFont(name: "...", 10)
Tuttavia .font
è deprecato e non sono sicuro di come modificare il carattere altrimenti.
Eventuali suggerimenti?
Sto cercando di cambiare il carattere di un UIButton usando Swift ...
myButton.font = UIFont(name: "...", 10)
Tuttavia .font
è deprecato e non sono sicuro di come modificare il carattere altrimenti.
Eventuali suggerimenti?
Risposte:
Usa titleLabel
invece. La font
proprietà è obsoleta in iOS 3.0. Inoltre non funziona in Objective-C. titleLabel
è un'etichetta utilizzata per mostrare il titolo UIButton
.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Tuttavia, durante l'impostazione del testo del titolo è necessario utilizzare solo setTitle:forControlState:
. Non utilizzare titleLabel
per impostare direttamente il testo per il titolo.
titleLabel
è una proprietà opzionale. Grazie in precedenza in beta non lo era.
myButton.titleLabel?.font = ...
funzionerà dal momento che se il titolo etichetta è zero sarà solo una no-op
Per Swift 3.0 :
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
dove "boldSystemFont" e "16" possono essere sostituiti con il carattere e la dimensione personalizzati.
btn.titleLabel?.font = .systemFont(ofSize: 12)
Non è necessario forzare scartare il titolo Etichetta per impostarlo.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Dal momento che non stai usando il titolo etichetta qui, puoi semplicemente usarlo facoltativamente e se è zero sarà solo una no-op.
Aggiungerò anche, come dicono altre persone, la proprietà del carattere è obsoleta e assicurerò di usarla setTitle:forControlState:
quando si imposta il testo del titolo.
Dalla documentazione :
Il carattere utilizzato per visualizzare il testo sul pulsante. ( Obsoleto in iOS 3.0 . Usa invece la
font
proprietà dititleLabel
.)
Se riscontri problemi di dimensione del carattere (il tuo carattere non risponde alle modifiche delle dimensioni) ...
@codester ha il codice giusto:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
Tuttavia, la dimensione del mio carattere non stava cambiando. Si scopre che sto chiedendo un carattere che non esisteva ("HelveticaNeue-Regular"). Non stava causando un arresto anomalo, ma sembrava semplicemente ignorare quella dichiarazione di carattere a causa di esso. Una volta modificato il carattere in qualcosa che esiste, il rendering in "size: x" è stato visualizzato.
possiamo usare diversi tipi di caratteri di sistema come di seguito
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)
e il tuo carattere personalizzato come di seguito
myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)
Dovresti passare attraverso la titleLabel
proprietà.
button.titleLabel.font
La font
proprietà è stata deprecata da iOS 3.0.
Se stai impostando AttributedString sul pulsante UIB, puoi fare quanto segue.
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)