2010-12-16 5 views
7

J'ai utilisé une police spéciale dans ma conception de photoshop,Développement iPhone: comment utiliser les polices personnalisées?

  1. est-il possible d'utiliser ces polices en mode natif dans l'application iPhone? ou

  2. ai-je besoin de les convertir en une image en premier?

  3. Si c'est la seule façon de le faire, que faites-vous avec le texte dynamique?

+0

http://stackoverflow.com/questions/360751/can-a-embed-a-custom-font-in-an-iphone-application – hpique

+1

@dstarh - C'est tout simplement faux. Ils ont été pris en charge depuis iOS 3.2 et sont triviales à utiliser dans iOS 4.x –

+0

@ siddishmidaparka beaucoup? – dstarh

Répondre

26
UIFont *font = [UIFont fontWithName:@"MyFont" size:20]; 
[label setFont:font]; 

Où "MyFont" serait un fichier TrueType ou OpenType dans votre projet (sans l'extension de fichier), et l'étiquette serait une instance de UILabel.

+16

Mais attention. Pas toujours le nom du fichier de police est le même avec le nom de la police. Vous pouvez vérifier le nom de la police lors de l'installation de la police sur votre ordinateur.Je dis cela parce que j'ai eu ce problème et j'ai passé des heures à le résoudre. – Slavcho

+0

Merci @SlavcoPetkovski, vous m'avez sauvé beaucoup de temps! –

4

Oui, c'est possible avec iOS 3.2 et versions ultérieures. Vous devez avoir le fichier de polices, j'oublie quels formats exactement. Ajoutez le fichier de police en tant que ressource à votre projet puis ajoutez les noms des polices dans les applications info.plist dans un tableau sous la clé brute 'UIAppFonts' ou sous la clé amicale 'Polices fournies par l'application'. Voici un exemple d'application que vous pouvez consulter: https://files.me.com/tobiasoleary/ey08n1. Il imprime toutes les polices accessibles à l'application. Deux polices ont été ajoutées Flames et Firestarter.

C'est de loin le moyen le plus simple d'ajouter des polices personnalisées à l'application. Si vous avez besoin de prendre en charge les polices personnalisées pour iOS avant la version 4.0, voir http://github.com/zynga/FontLabel/tree/master

Cette question a été posée antérieurement ici: Can I embed a custom font in an iPhone application?.

30
  1. Copiez votre fichier de police dans les ressources

  2. Dans votre application .plist créer (si elle est existent juste créer une ligne) une ligne appelée « Polices fournies par l'application », puis dans la section « 0 » copie votre nom de police par exemple "Ciutadella-Bold.otf" (s'il y a des espaces dans le nom de police, renommez-le et par exemple remplacez tous les espaces par '-')

  3. Puis vous pouvez définir cette police dans votre application :

    UIFont *CiutadellaBold = [UIFont fontWithName:@"Ciutadella-Bold" size:17.0f]; 
    
  4. et l'utilisation dans, par exemple, dans UILabel:

    [uiLabel setFont:CiutadellaBold]; 
    
+1

J'ai ajouté mes polices .otf au .plist et les ai appelées du code par programmation. J'ai également connecté l'étiquette avec le fichier h et peut définir le texte. Cela semble être le meilleur moyen mais qu'est-ce que je fais de mal? –

+3

Je devais juste ajouter le fichier de fond à l'adhésion cible. Cliquez sur le fichier de police, et sélectionnez dans le menu à droite votre projet dans la section "Adhésion cible" s'il n'est pas déjà sélectionné. –

+0

Étape 2 semblait comme si c'était nécessaire pour moi. Merci! –

0

Note:

Le paramètre de « fontWithName » doit être le vrai nom de la police, pas le nom du fichier. Si vous ouvrez votre fichier ttf avec le Mac Font Book, vous verrez directement son nom en haut de la fenêtre.

Questions connexes