web-dev-qa-db-fra.com

Comment intégrer et utiliser Font Awesome avec Objective-C ou Swift dans un projet Xcode?

J'essaie donc d'utiliser cette police http://fortawesome.github.com/Font-Awesome/ . J'ai ajouté la police en tant que ressource et je l'ai mise dans le fichier plist. Voici comment je l'utilise:

[homeFeedButton.titleLabel setFont:[UIFont fontWithName:@"fontawesome" size:8]];
NSString *str = [NSString stringWithFormat:@"%C", @"\f030"];

Cependant cela ne fonctionne pas. Est-ce que quelqu'un sait comment utiliser cette police dans un projet Xcode?

32
adit

C'est parce que votre méthode +[NSString stringWithFormat:] contient le littéral pour un unichar, pas un NSString, qui est un objet qui utilise% @, ce qui est à côté du point parce qu'un littéral est redondant.

8
CodaFi

Dans Swift

Police Awesome Cheatsheet.

Tutoriel sur la façon d'intégrer la police appelée "Font Awesome" dans votre projet Xcode.

Erreurs courantes lors de l'ajout de polices personnalisées à votre application iOS

let label = UILabel(frame: CGRectMake(0, 0, 100, 100))
label.font = UIFont(name: "FontAwesome", size: 40)
let myChar: UniChar = 0xF180
label.text = String(format: "%C", myChar)
self.view.addSubview(label)
15
King-Wizard

MEILLEURE solution pour FA avec XCode:

  1. Copiez l'icône que vous voulez depuis http://fontawesome.io/cheatsheet/ (je veux dire marquer et copier l'icône elle-même):

 enter image description here

  1. Ajoutez ensuite une étiquette à votre story-board et à ses propriétés:

 enter image description here

  • ROUGE - Choisissez FontAwesome comme famille
  • VERT - Définissez la taille souhaitée
  • BLEU - Collez ici ce que vous avez copié à la 1ère étape. (Ne vous inquiétez pas du point d'interrogation - dans la vue, vous devriez le voir correctement).

C'est tout.

Si vous devez modifier l'icône dans le code, vous pouvez également coller la 1ère étape dans votre code: enter image description here

15
Danielle

Je ne suis pas sûr que cela fonctionne correctement, mais il y a maintenant quelques beaux projets sur github:

https://github.com/alexdrone/ios-fontawesome - qui vous donne une catégorie pour NSString qui offre une aide de base sur l’utilisation de FontAwesome.

et https://github.com/leberwurstsaft/FontAwesome-for-iOS qui vous donne une catégorie NSString avec fontAwesomeIconStringForIconIdentifier et une sous-classe UIImageView: FAImageView 

14
ocodo

Vous pouvez simplement utiliser la chaîne de code littéral en l'apposant avec \u

par exemple. Vous pouvez utiliser \f030 dans votre application iOS à l'aide de l'extrait de code suivant.

[[[UILabel alloc] initWithFrame:CGRectZero] setText:@"\uf030"];

7
Jais

Vous pouvez également utiliser la bibliothèque FontAwesome + iOS pour iOS

Ensuite, il vous suffit d'utiliser ce code:

label.text = [NSString fontAwesomeIconStringForIconIdentifier:@"icon-github"];
// or:
label.text = [NSString fontAwesomeIconStringForEnum:FAIconGithub];
5
Néstor

Je peux donc y répondre pour Swift et Objective C. (en utilisant Swift 3.0 ici)

Ajouter et configurer le fichier font-awesome et éditer le storyboard

Il suffit de télécharger font-awesome à partir d'ici: fontawesome.io Et d'ajouter .ttf à votre projet.

Vérifiez l'image ci-dessous pour plus de détails ...

follow the sequence given in the image

Maintenant la partie codante

Swift 3.0

let iconUniChar: UniChar = 0xf113  
textLabel.text = String(format: "%C", iconUniChar) 

Objectif c

_textLabel.text = [NSString stringWithFormat:@"%C", 0xf113];

Et, si vous faites toujours face au problème, voici le 

code source entier

4
Kirit Modi

Vous trouverez ci-dessous le code permettant de définir l'image sur un UIButton à l'aide de FontAwesome

 UIButton *btnMenu = [UIButton buttonWithType:UIButtonTypeCustom];
 btnMenu.frame = CGRectMake(0, 0, 40, 32);
 [btnMenu setTitle:@"\uf0c9" forState:UIControlStateNormal];
 [btnMenu setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
 [btnMenu.titleLabel setFont:[UIFont fontWithName:@"FontAwesome" size:16]];
3
Sudheer Palchuri

NSLog votre toutes les polices en utilisant le code suivant et fournir le nom exact. 

 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
    NSArray *fontNames;
    NSInteger indFamily, indFont;
    for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
    {
        NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
        fontNames = [[NSArray alloc] initWithArray:
                     [UIFont fontNamesForFamilyName:
                      [familyNames objectAtIndex:indFamily]]];
        for (indFont=0; indFont<[fontNames count]; ++indFont)
        {
            NSLog(@"    Font name: %@", [fontNames objectAtIndex:indFont]);
        }
    }
2
Gaurav

Je cherchais la bibliothèque d’aide pour Swift3 et j’ai trouvé cette solution très simple et opérationnelle https://github.com/Syndicode/FontAwesomeKitSwift3 . Il comporte des animations qui expliquent aux novices comme moi comment l’inclure et l’utiliser rapidement. 

1
Anton

Voici un exemple de texte d'étiquette de cellule:

cell.textLabel.font = [UIFont fontWithName:@"FontAwesome" size:12];
cell.textLabel.text = @"\uf000";

Assurez-vous que le nom de la police est correct, comme suggéré ci-dessus.

0
Kurt Madel

Au cas où quelqu'un se le demanderait, importez ce qui suit dans le fichier .m.

import "NSString+FontAwesome.h"
0
Gangani Roshan

J'ai créé une bibliothèque en langue rapide avec une intégration facile pour UILabel, UIButton et UIBarButtonItem. Prend également en charge les pods. Police Awesome Swift

0
vaberer

je ne sais pas si cette réponse sera utile si vous regardez la date à laquelle vous avez posté votre question .... mais pour aider quelqu'un qui le fait peut-être pour le moment,

[self.homefeedbutton setTitle: @ "o" pourState: UIControlStateNormal]; [self.homefeedbutton.titleLabel setFont: [UIFont fontWithName: @ "fontawesome" taille: 30]];

setTitle: @ "o" o est le nom de la police, n'utilisez pas le unichar mais renommez-la plutôt par une autre lettre, par exemple si vous consultez fontello.com, sélectionnez l'icône, puis cliquez sur l'onglet de code personnalisé en haut de votre icône il y a une petite boîte, changez-la en n'importe quelle lettre ....

crier si ce n'est pas assez clair, je vais essayer d'expliquer d'une manière différente.

0
Popez del Rey

Cela peut aider quelqu'un d'autre ... Environ 90% des icônes de Font Awesome travaillaient dans mon projet, à l'exception de quelques-unes d'entre elles que je ne pouvais pas obtenir correctement. Ils afficheraient plutôt une icône "..." à la place.

Après plusieurs heures consacrées à la recherche de caractères unicode dans Objective-C, j'ai compris que j'aboyais le mauvais arbre! "..." n'est pas une icône de FontAwesome, c'est une erreur UIKit qui me dit que le cadre de UILabel est trop petit/la police est trop grande pour afficher la chaîne de texte! D'oh.

0
jt_uk