web-dev-qa-db-fra.com

Comment inclure et utiliser de nouvelles polices dans le SDK de l'iPhone?

Je souhaite utiliser la police "MgOpen Modata" dans mon application iPhone. Mais je ne le vois pas dans la liste des polices de l'inspecteur des propriétés. 

Comment puis-je inclure cette police pour pouvoir l'utiliser?

56
meetpd
  1. Ajouter les fichiers de police à vos fichiers de ressources
  2. Editez votre Info.plist: Ajoutez une nouvelle entrée avec la clé Fonts provided by application.
  3. Pour chacun de vos fichiers, ajoutez le nom du fichier à ce tableau.

Dans l'exemple ci-dessous, j'ai ajouté la police "DejaVu Sans Mono":

Info.plist: adding custom fonts

Dans votre application, vous pouvez utiliser [UIFont fontWithName:@"DejaVuSansMono-Bold" size:14.f].

Ou si vous voulez l’utiliser en html/css, utilisez simplement font-family:DejaVu Sans Mono;

Remarque: ceci est disponible dans iOS 3.2 et versions ultérieures.

144
Jilouc

J'ai trouvé cette procédure pas à pas était le meilleur

Bien que la réponse acceptée ci-dessus fonctionne, j'ai constaté que si vous ajoutez du texte dans un fichier XIB, puis que vous définissez la police sur notre nouvelle police, le texte ne se met pas à jour.

S'assurer que la nouvelle police est incluse dans les ressources a résolu le problème (pris directement à partir de la procédure pas à pas):

"Cela ne devrait pas être un problème, mais parfois, lorsque vous avez des difficultés à faire apparaître votre police, cela peut être une source de maux de tête. Vérifiez à présent à nouveau de l’écarter comme un piège potentiel.

Allez dans le volet Phases de construction de votre projet en mettant en surbrillance le fichier de projet XCode dans l'explorateur de votre solution et sur le côté droit, sélectionnez «Phases de construction». Vous verrez que l’une des sections que vous pouvez développer est «Copier les ressources d’un ensemble». Ouvrez cette liste et assurez-vous que vos polices y sont incluses. "

Make sure the fonts are included in our resources

Les autres éléments de la procédure pas à pas sont identiques (ajoutez également le fichier à votre projet et au fichier Plist).

Tout crédit à Code avec Chris pour cette réponse qui m'a fait gagner beaucoup de temps et d’efforts. Je ne fais que copier un tir de sa page pour permettre à cette réponse de fonctionner de manière autonome au lieu de vous demander de cliquer sur le lien.

13
simon_smiley

Je pense qu’il est préférable pour un développeur d’avoir la structure de plist comme code source brut. Je le laisse pour copier/coller: 

<key>UIAppFonts</key>
    <array>
        <string>Roboto-BoldItalic.ttf</string>
        <string>Roboto-Medium.ttf</string>
        <string>Roboto-MediumItalic.ttf</string>
        <string>Roboto-Regular.ttf</string>
        <string>Roboto-Bold.ttf</string>
    </array>

Copiez cet extrait et modifiez les clés de chaînes dans le tableau avec les polices de votre choix. Conseil : Pour afficher le répertoire sous forme de code source brut, cliquez sur le bouton secondaire situé au-dessus du fichier, puis sélectionnez Ouvrir en tant que -> Code source .

MODIFIER

// Logs fonts ordered by name
    for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
    {
        NSLog(@"%@", family);

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

Après avoir ajouté les polices, il peut être utile d’ajouter (par exemple) à la classe AppDelegate.m pour voir quels sont les noms réels des polices (sur l’ensemble). Un problème que j'ai rencontré à plusieurs reprises au chargement des polices avec un nom incorrect, en supposant que le nom de fichier de la police était correct. Parfois, il diffère du nom réel de l'ensemble . De plus, vous pouvez vérifier le nom complet du fichier à l'aide de la fenêtre d'informations sur le fichier (cmd + i) dans le Finder (macOS). 

Exemple à préciser: 
File Name = "DroidSansEthiopic-Regular"
Nom traité dans le paquet = "Droid Sans Ethiopic"

6
halbano

La plupart du temps, nous oublions d'ajouter des polices à l'application Cible. Assurez-vous de ne pas oublier cette étape importante. Vérifiez le panneau de droite Inspecteur de fichier> Adhésion cible case à cocher.

enter image description here

Vous pouvez également vérifier si la police est bien ajoutée à votre application ou non en exécutant cet extrait de code n'importe où dans votre application.

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

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

MODIFIER

ORDRE ALPHABETIQUE:

for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
{
    NSLog(@"%@", family);

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

Cela créera une liste des polices disponibles dans votre application, où la police ajoutée apparaîtra également.

6
Vaibhav Saran

N'oubliez pas d'ajouter les polices aux cibles pour compiler les ressources de l'ensemble en allant à 'Cibles' -> 'Construire les phases' -> 'Copier les ressources de l'ensemble' et en ajoutant toutes les polices manuellement

6
mgm

Dans Xamarin iOS

Étape 1: Tout d’abord, vous devez ajouter votre fichier .ttf ou .otf dans votre projet.

comme Roboto-BoldItalic.ttf.

Étape 2: Faites un clic droit sur la police et sélectionnez la propriété. 

  1. Action de construction -> Contenu
  2. Copier dans le répertoire de sortie -> Toujours copier

Étape 3: Passez à info.plist

sélectionnez la propriété Fonts provided by application et ajoutez le nom de la police.

 enter image description here

Étape 4:

définir la police de manière programmée ci-dessous

account.Font = UIFont.FromName("Roboto-BoldItalic", 18f);
1
Ironman

Son facile et simple maintenant - Testé dans Xcode 9.2 et Swift 4

Etapes pour ajouter une police à votre Xcode

Sélectionnez votre UILabel, UITextField ou ce que vous voulez dans la section Polices et suivez les instructions. 

Étape 1

Sélectionnez le menu de configuration dans le coin gauche de l’écran de sélection de police. Et choisissez l'option du gestionnaire de polices.

 enter image description here

Étape 2 

Cliquez sur le bouton Ajouter comme indiqué ci-dessous.

 enter image description here

Étape 3

Sélectionnez le dossier contenant votre police. Il sera chargé dans la liste des polices XCode.

Etapes pour ajouter des polices à votre projet

N'oubliez pas d'ajouter une description à votre plist avec la clé Fonts provided by application. et de placer les fichiers de polices dans les ressources de liasse de copie sous les paramètres de cible du projet.

Oui! thats it .. njoy ..

0
Saranjith

Vous pouvez utiliser la méthode [UIFont fontWithName:@"ArialMT" size:14]; directement si vous souhaitez modifier votre style de police. De plus, il se peut que toutes les polices ne soient pas disponibles dans la bibliothèque iphone.Il suffit de vous référer à this pour connaître les styles de police disponibles.

0
Sarah

Si vous avez le format .otf. Parfois, ce format ne fonctionne pas. Convertissez le format .otf en .ttf. Il y a beaucoup de polices en ligne ... .. Une fois que vous avez ajouté la police personnalisée à votre fichier .plist sous Polices fournies par l'application, comme expliqué ci-dessus. Assurez-vous que le fichier est présent dans votre cible de projet sous Phase de construction -> Copier Bundel Resourse. Si ce n'est pas le cas, ajoutez-le . Ensuite, dans votre code, ajoutez la taille suivante:

0
GameBegins