2012-01-22 6 views
9

J'ai ajouté une police personnalisée - celle que j'ai téléchargé à partir du net. il est au format TTF et peut être utilisé sur d'autres programmes sur mon mac. (Ajouté avec succès au livre de polices et utilisé dans les feux d'artifice).Impossible de trouver la police personnalisée - iOS

J'ai ajouté la clé à l'info .plist mais la police ne semble pas fonctionner. Lorsque je NSLog la police est nulle, je suppose qu'il ne le trouve pas. Le TTF est appelé LONDON __. TTF mais a un nom comme police London.

Que devrais-je utiliser comme police et ajouter à info.plist pour que cela fonctionne?

Merci

Dan

chemin de ressource polices Application = LONDON __. TTF

NSLog(@"%@",[UIFont fontWithName:@"London font" size:22]); 

et

NSLog(@"%@",[UIFont fontWithName:@"LONDON__.TTF" size:22]);

Les deux retournent Null.

Bien que le fichier s'appelle LONDON __. TTF, la police apparaît comme tout le monde dans Font Book. Est-ce le problème?

+0

Qu'avez-vous mis dans votre 'Info.plist'? –

Répondre

36

Regardez toutes les polices disponibles

Objective-C:

for(NSString* family in [UIFont familyNames]) { 
    NSLog(@"%@", family); 
    for(NSString* name in [UIFont fontNamesForFamilyName: family]) { 
     NSLog(@" %@", name); 
    } 
} 

Swift:

for family: String in UIFont.familyNames() { 
    print("%@", family) 
    for name: String in UIFont.fontNamesForFamilyName(family) { 
     print(" %@", name) 
    } 
} 

..si il n'y est pas, installez à nouveau

  1. Copiez le fichier .ttf dans votre projet (c.-à-d. faites-le glisser vers le dossier de ressources dans le navigateur de projet).

  2. Dans votre Info.plist ajoutez une entrée avec la clé Fonts provided by application avec un type Array. En tant qu'élément 0, ajoutez une valeur de chaîne correspondant au nom du fichier de police (par exemple, OpenSans-ExtraBoldItalic.ttf). Assurez-vous que le fichier de polices est inclus dans la liste copy bundle resources dans les paramètres du projet.

+0

merci, il ne semble pas, donc je suppose qu'il n'est pas ajouté correctement. des idées? – Dan

+0

Comme Rob Mayoff l'a demandé, éditez votre question pour inclure l'entrée .plist. – user371320

+0

Avez-vous ajouté le fichier de police à votre projet? – user371320

1

Ces deux noms sont erronés. En supposant que vous avez correctement ajouté à votre plist, utilisez quelque chose comme

NSLog(@"Fonts: %@", [UIFont familyNames]); 

pour voir ce que son nom interne est. Par ailleurs, assurez-vous que la licence de la police permet l'incorporation. Beaucoup de polices commerciales ne le font pas.

+0

merci, il ne semble pas, donc je suppose qu'il n'est pas ajouté correctement. des idées? – Dan

+0

Il est donc dans votre plist comme \t UIAppFonts \t \t \t Néerlandais Mediaeval.ttf \t et une partie du projet? –

6

Vous devez vous assurer que le fichier de polices est inclus dans la liste copy bundle resources dans les paramètres du projet. Ma police ne s'afficherait pas dans [UIFont familyNames] jusqu'à ce que je l'ai ajouté ici car il n'était pas automatiquement inclus lorsqu'il a été ajouté au projet.

Questions connexes