J'essaie de changer la police d'un UIButton en utilisant Swift …
myButton.font = UIFont(name: "...", 10)
Cependant .font
est obsolète et je ne sais pas comment changer la police sinon.
Aucune suggestion?
Utilisez plutôt titleLabel
. La propriété de font
est deperecated dans iOS 3.0. Cela ne fonctionne pas non plus dans Objective-C. titleLabel
est une label utilisée pour afficher le titre sur UIButton
.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Cependant, lors de la définition du text du titre, vous ne devez utiliser que setTitle:forControlState:
N'utilisez pas titleLabel
pour définir directement un text pour le titre.
Pour Swift 3.0 :
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
où "boldSystemFont" et "16" peuvent être remplacés par votre police et taille personnalisées.
De la documentation :
La police utilisée pour afficher le text sur le button. ( Déconseillé dans iOS 3.0 .) Utilisez plutôt
font
propriétéfont
de l'objecttitleLabel
.
Vous n'avez pas besoin de forcer le titleLabel pour le définir.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Puisque vous n'utilisez pas l'label de titre ici, vous pouvez juste l'employer facultativement et si c'est nul il sera juste un no-op.
Je vais aussi append, comme d'autres personnes le disent, la propriété de police est obsolète, et assurez-vous d'utiliser setTitle:forControlState:
lors de la définition du text du titre.
Cela fonctionne dans Swift 3.0:
btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20)
Vous devriez passer par la propriété titleLabel
.
button.titleLabel.font
La propriété de font
a été dépréciée depuis iOS 3.0.
Jetez un coup d'oeil ici .
Vous devez plutôt définir la police de titleLabel du button.
myButton.titleLabel!.font = UIFont(name: "...", 10)
Si vous rencontrez des problèmes de taille de police (votre police ne répond pas aux changements de taille) …
@codester a le bon code:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
Cependant, ma taille de police ne changeait pas. Il s'avère que j'ai demandé une police qui n'existait pas ("HelveticaNeue-Regular"). Cela ne causait pas de crash, mais semblait ignorer cette déclaration de police à cause de ça. Une fois que j'ai changé la police à quelque chose qui existe, les changements de "taille: x" ont rendu.
Exemple: button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
Dans Xamarin.iOS, vous pouvez écrire le code en C # comme suit:
myButton.TitleLabel.Font = UIFont.FromName ("Helvetica-Bold", 33f);
Cette façon ne fonctionne pas maintenant:
btn.titleLabel?.font = UIFont(name: "Helvetica", size:12)
Cela marche:
btn.titleLabel?.font = UIFont.init(name: "Helvetica", size:12)