L'aide personnalisée à la police pour l'ensemble de l'application iOS swift
Je sais que pour définir une police personnalisée d'un élément sur l'écran, je peux simplement fairesomeLabel.font=UIFont(name: "Exo 2.0", size: 15)
.
Je me demandais comment on pourrait la définir pour l'ensemble d'une application à l'aide de swift. (Un hack serait de faire ce que je sais pour chaque élément de l'application, mais c'est simplement une facilité de maintenance cauchemar)
Je vois que cette question a déjà été posée, avec un objectif-C balise, Comment définir une police personnalisée pour l'ensemble de l'application iOS sans spécifier la taille de l' mais je ne suis pas assez familier avec objective-C assez à port la code swift
Vous pourriez écrire un
UILabel
extension qui renvoie la police que vous souhaitez à la place de son interne de la police de la propriété.OriginalL'auteur tawheed | 2015-01-27
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir l'apparence de l'UILabel et d'autres UIViews:
Plus Général:
ceci fonctionne très bien pour pas primordial tailles de police!
Est-il un moyen de définir la police à l'échelle mondiale comme ça, sans spécification de la taille? De sorte que si j'ai une cellule du tableau avec le style des sous-titres, le texte continue à afficher à la taille par défaut pour les modèles, j'ai choisi de police?
Ce n'est pas de travailler sur Swift 3 🙁
Voir ma solution ci-dessous. Taille de la police n'est pas surchargé.
OriginalL'auteur Christian
Comme une réponse plus détaillée et avec ces prestations, je recommande d'utiliser des extensions:
Des échantillons pour l'utilisation des Extensions:
par exemple, mettre ces lignes dans votre démarrage du contrôleur de viewDidLoad
P. S. @Christian mentionné précédemment, vous pouvez écrire vos propres extensions pour presque AnyUIView
self.font.fontName
dansUILabel
Je vais vérifier et de vous informer de la suite bientôt
Merci, merci de laisser un commentaire quand vous pourriez
il fonctionne pour ios 11 et swif4?
Mise à jour: vous devez ajouter @objc à substituteFontName pour conserver la compatibilité avec les swift4
OriginalL'auteur Mostafa Aghajani
ENFIN compris cela. Façon la plus propre que j'ai pu trouver. (Swift 4)
La Solution ne nécessite pas de définir des tailles de police et de ne pas remplacer toutes les tailles de police.
Pour ceux qui recherchent l'endroit où placer ce code. Je l'ai mis dans mon AppDelegate.swift fichier à l'intérieur de
Swift 4.2
Vous pouvez mettre ce droit dans votre application délégué à l'intérieur de..... func demande(_ application: UIApplication, didFinishLaunchingWithOptions Et cela devrait fonctionner application large
Ne semble pas fonctionner sur iOS 12 avec Swift 4.2, la plupart des textes " taille de la police de tourner la petite alors qu'ils devraient être.
Où en êtes-vous de placer cette ligne de code? @Ido
Au
didFinishLaunchingWithOptions
de cours. Mais jamais l'esprit, je l'ai trouvé bien meilleure solution pour changer la police sur mon application: stackoverflow.com/a/40484460/8157190OriginalL'auteur Rmalmoe
J'ai trouvé un moyen de faire de même dans Swift 4 avec iOS 11
Seulement besoin d'ajouter
@objc
mot-clé avant le nom de la variable.Donc la déclaration de la variable sera comme ceci
Espère que cela aide d'autres personnes qui sont confrontées à ce problème.
OriginalL'auteur Surjeet