Réponses:
Pour le plus grand plaisir des puristes de polices du monde entier, l'interface du système iPhone utilise Helvetica ou une variante de celle-ci.
L'interface système d'origine iPhone, iPhone 3G et iPhone 3GS utilise Helvetica. Comme l'a d'abord noté le toujours excellent DaringFireball, l'iPhone 4 utilise une police subtilement révisée appelée "Helvetica Neue". DaringFireball note également que ce changement est lié à l'écran de l'iPhone 4 plutôt qu'au système d'exploitation iOS 4 et que les anciens modèles d'iPhone exécutant iOS 4 utilisent toujours Helvetica comme police système.
Les modèles d'iPod sortis avant l'iPhone utilisent soit Chicago, Espy Sans ou Myriad et utilisent Helvetica après la sortie de l'iPhone.
De http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html
Pour iOS9, il est devenu San Fransisco . Voir http://developer.apple.com/fonts pour plus d'informations.
Si vous effectuez une personnalisation programmatique, ne codez pas en dur la police système. Utilisation UIFont systemFontOfSize:
, UIFont boldSystemFontOfSize:
et UIFont italicSystemFontOfSize
( documentation Apple ).
Cela est devenu particulièrement pertinent depuis iOS 7, qui a changé la police système en Helvetica Neue.
Cela est devenu super particulièrement pertinent puisque iOS 9, qui a changé la police système à nouveau à San Francisco.
UIFont
instances de la police système en utilisant les tailles données et renverra toujours les polices système quelles que soient les futures mises à jour iOS.
Helvetica
... faire ça maintenant.
Police spécifique
La définition d'une police spécifique dans Swift se fait comme suit:
let myFont = UIFont(name: "Helvetica", size: 17)
Si vous ne connaissez pas le nom, vous pouvez obtenir une liste des noms de polices disponibles comme ceci:
print(UIFont.familyNames())
Ou une liste encore plus détaillée comme celle-ci:
for familyName in UIFont.familyNames() {
print(UIFont.fontNamesForFamilyName(familyName))
}
Mais la police système change de version en version d'iOS. Il serait donc préférable d'obtenir la police système de manière dynamique.
Police système
let myFont = UIFont.systemFontOfSize(17)
Mais nous avons la taille codée en dur. Que faire si les yeux de l'utilisateur sont mauvais et qu'il souhaite agrandir la police? Bien sûr, vous pouvez définir un paramètre dans votre application pour que l'utilisateur modifie la taille de la police, mais ce serait ennuyeux si l'utilisateur devait le faire séparément pour chaque application sur son téléphone. Il serait plus facile de faire un seul changement dans les paramètres généraux ...
Police dynamique
let myFont = UIFont.preferredFont(forTextStyle: .body)
Ah, nous avons maintenant la police système à la taille choisie par l'utilisateur pour le style de texte avec lequel nous travaillons. C'est la méthode recommandée pour définir la police. Voir Prise en charge du type dynamique pour plus d'informations à ce sujet.
Vous pouvez toujours utiliser
UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);
La réponse est:
Jusqu'à iOS 6
Helvetica Helvetica
IOS 7
.Helvetica Neue Interface .HelveticaNeueInterface-M3
mais vous pouvez simplement utiliser Helvetica Neue
.SFUIText-Regular
commesystemFont.familyName
Je ne suis pas sûr qu'il existe une API pour obtenir le nom de police système par défaut. Alors je prends juste le nom comme ceci:
//get system default font
UILabel *label = [[UILabel alloc] init];
fontname = label.font.fontName;
[label release];
Ça a l'air stupide mais ça marche.
[UIFont systemFontOfSize:[UIFont labelFontSize]];
Voir ma réponse ci-dessous.
Voici une mise à jour pour prendre en charge iOS 7 . Il a Dynamic Font Size
maintenant.
Pour toutes les applications qui prennent en charge le «Type dynamique», les utilisateurs peuvent sélectionner une taille de police dans iOS 7 qui fonctionne à l'échelle du système, simplement en visitant la section «Général» sous «Paramètres» et en sélectionnant «Taille de police».
UIFont *dynamicFont = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
Et la liste des constantes, une explication détaillée est ici
NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;
La catégorie UIFontSystemFonts pour UIFont ( UIInterface.h ) fournit plusieurs tailles prédéfinies pratiques.
@interface UIFont (UIFontSystemFonts)
+ (CGFloat)labelFontSize;
+ (CGFloat)buttonFontSize;
+ (CGFloat)smallSystemFontSize;
+ (CGFloat)systemFontSize;
@end
Je l'utilise pour les messages de chat (étiquettes) et cela fonctionne bien lorsque j'ai besoin d'obtenir la taille des blocs de texte.
[UIFont systemFontOfSize:[UIFont labelFontSize]];
Bon codage!
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];
Cela vous donnera la police système avec la taille de police système par défaut appliquée aux textes d'étiquette par défaut.
Rapide
Vous devez toujours utiliser les valeurs par défaut du système et ne pas coder en dur le nom de la police car la police par défaut peut être modifiée par Apple à tout moment.
Il existe quelques polices système par défaut (normales, grasses , italiques ) avec des tailles différentes (étiquette, bouton, autres):
let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)
sachez que la taille de police par défaut dépend de la vue cible (étiquette, bouton, autres)
Exemples:
let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
télécharger le fichier .ttf requis
ajoutez le fichier .ttf sous la ressource de l'ensemble de copie, vérifiez si le fichier ttf est ajouté sous la ressource
Dans info.pllist, ajoutez le nom du fichier ttf tel quel.
ouvrez maintenant le livre de polices, ajoutez le fichier .ttf dans le livre de polices, sélectionnez l'icône d'information là-bas, vous trouvez le nom postscript.
maintenant, donnez le nom PostScript à la place du nom de la police
La police par défaut pour iOS est San Francisco. Vous pouvez consulter le lien pour plus de détails