web-dev-qa-db-fra.com

police système iPhone

Quel est le nom de la police système par défaut sur l'iPhone?

Je voudrais récupérer ceci pour personnaliser un UIView.

96
SK9

Pour le plus grand plaisir des puristes des polices du monde entier, l'interface système iPhone utilise Helvetica ou une variante de celui-ci.

Helvetica est utilisé avec l’interface système originale pour iPhone, iPhone 3G et iPhone 3GS. Comme le remarquait tout d'abord l'excellent DaringFireball, l'iPhone 4 utilise une police subtilement modifiée, appelée "Helvetica Neue". DaringFireball note également que cette modification est liée à 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 publiés avant l'iPhone utilisent Chicago, Espy Sans ou Myriad et utilisent Helvetica après la sortie de l'iPhone.

De http://www.everyipod.com/iphone-faq/iphone-who-design-iphone-font-used-iphone-ringtones.html

Pour iOS9 , il est devenu San Francisco . Voir http://developer.Apple.com/fonts pour plus d'informations.

107
Gary Willoughby

Si vous effectuez une personnalisation programmatique, ne codez pas en dur la police système. Utilisez 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 depuis iOS 9, qui a à nouveau modifié la police système à San Francisco.

103
Adam Wright

afaik iPhone utilise "Helvetica" par défaut <iOS 10

15
Vladimir

Swift

Police spécifique

Définir 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 police 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 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 se passe-t-il si les yeux de l'utilisateur sont mauvais et qu'ils veulent 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 cela serait gênant si l'utilisateur devait le faire séparément pour chaque application de son téléphone. Il serait plus facile de faire un 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 Type dynamique pris en charge pour plus d'informations à ce sujet.

Apparenté, relié, connexe

12
Suragch

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

11
Dan Rosenstark

Je ne suis pas sûr qu'il existe une API pour obtenir le nom de la police système par défaut. Donc, je viens de recevoir 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.

8
perkin tang

Voici une mise à jour pour prendre en charge iOS 7 . Il a Dynamic Font Size maintenant.

Pour toutes les applications prenant en charge le "Type dynamique", les utilisateurs peuvent sélectionner une taille de police sous iOS 7 compatible avec l'ensemble du système, simplement en visitant la section "Général" sous "Paramètres" et en sélectionnant "Taille de la 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;
_
3
B.S.
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 pour les textes d'étiquette par défaut.

3
Rohit saraf

La catégorie IFontSystemFonts pour IFont ( 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 discussion (étiquettes) et cela fonctionne bien lorsque j'ai besoin d'obtenir la taille de blocs de texte.

 [UIFont systemFontOfSize:[UIFont labelFontSize]];

Bonne codage!

3
Anton Gaenko

rapide

Vous devez toujours utiliser les valeurs par défaut du système et non 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 deux polices système par défaut (normales, gras, italiques ) de tailles différentes (libellé, 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 (libellé, bouton, autres)

Exemples:

let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
2
Musa almatri

La police par défaut pour iOS est San Francisco. Vous pouvez vous référer au lien pour plus de détails

0
Sateesh Pasala
  1. télécharger le fichier .ttf requis

  2. ajoutez le fichier .ttf sous copier la ressource, vérifiez si le fichier ttf est ajouté sous ressource

  3. Dans info.pllist, ajoutez le nom du fichier ttf tel quel.

  4. maintenant, ouvrez le livre de polices, ajoutez le fichier .ttf dans le livre de polices, sélectionnez l'icône d'information là où vous trouvez le nom PostScript.

  5. donne maintenant le nom postscript à la place du nom de la police

0
K.Gowri Manohari