Подтвердить что ты не робот

Как интегрировать и использовать шрифт Awesome с Objective-C или Swift в проекте Xcode?

Итак, я пытаюсь использовать этот шрифт http://fortawesome.github.com/Font-Awesome/. Я добавил шрифт в качестве ресурса и поместил его в файл plist. Вот как я его использую:

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

Однако это не работает. Кто-нибудь знает, как использовать этот шрифт в проекте Xcode?

4b9b3361

Ответ 1

Это потому, что ваш метод +[NSString stringWithFormat:] содержит литерал для unichar, а не NSString, который является объектом, который использует% @, который находится рядом с точкой, потому что литеральный литерал является избыточным.

Ответ 2

Не уверен, что вы когда-либо работали правильно, но теперь есть несколько хороших проектов на github:

https://github.com/alexdrone/ios-fontawesome - который дает вам категорию для NSString, которая предлагает базовую помощь с помощью FontAwesome.

и https://github.com/leberwurstsaft/FontAwesome-for-iOS, который дает вам категорию NSString с fontAwesomeIconStringForIconIdentifier, а также подкласс UIImageView: FAImageView

Ответ 3

В Swift:

Шрифт Awesome Cheatsheet.

Учебник о том, как интегрировать шрифт под названием "Шрифт Awesome" в вашем проекте Xcode.

Общие ошибки с добавлением пользовательских шрифтов в ваше приложение 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)

Ответ 4

BEST решение для FA с XCode:

  • Скопируйте нужный значок из http://fontawesome.io/cheatsheet/ (я имею в виду отметку и скопирую сам значок):

введите описание изображения здесь

  1. Затем добавьте метку в свою раскадровку и ее свойства:

введите описание изображения здесь

  • RED - выберите FontAwesome как семейство
  • ЗЕЛЕНЫЙ - установите нужный размер.
  • BLUE - Вставьте здесь то, что вы скопировали на первом шаге. (не беспокойтесь о вопросительном знаке - в представлении вы должны увидеть его правильно).

Что это.

Если вам нужно изменить значок в коде - вы также можете вставить 1-й шаг в свой код: введите описание изображения здесь

Ответ 5

Вы можете просто использовать буквенную строку кода, привязывая ее к \u.

например. Вы можете использовать \f030 в своем приложении iOS, используя следующий фрагмент.

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

Ответ 6

Вы также можете использовать библиотеку FontAwesome + iOS для iOS

Затем вам нужно использовать только этот код:

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

Ответ 7

Итак, я могу ответить на него для Swift и Objective C. (здесь используется Swift 3.0)

Добавление и настройка шрифтового файла и редактирование раскадровки

Просто скачайте шрифт-awesome отсюда: fontawesome.io и добавьте .ttf в свой проект

Проверьте изображение ниже для более подробной информации...

follow the sequence given in the image

Теперь кодирующая часть

Swift 3.0

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

Цель C

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

И если вы все еще сталкиваетесь с проблемой здесь,

весь исходный код

Ответ 8

NSLog ваш шрифт, используя следующий код и укажите точное имя.

 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]);
        }
    }

Ответ 9

Имя шрифта FontAwesome происходит так: FontAwesome

Попробуйте [UIFont fontWithName:@"FontAwesome" size:8]].

Просмотр этого видеоурока может помочь: http://youtu.be/J1EHAS0icv0.

Ответ 10

Ниже приведен код для установки изображения в UIButton с использованием 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]];

Ответ 11

Я искал вспомогательную библиотеку для Swift3 и нашел это очень простым и рабочим решением https://github.com/Syndicode/FontAwesomeKitSwift3. У этого есть анимации, которые объясняют для новичков, как я, как включить его и использовать быстро.

Ответ 12

Для использования пользовательских шрифтов убедитесь, что имя шрифта, которое вы указали в вашем plist и здесь, имеет одно и то же реальное имя. Я имею в виду, что имя шрифта должно быть таким же, как в целом, оно имеет. Не пытайтесь измените имя. Проверьте, действительно ли имя используемого шрифта является именем этого шрифта.

Спасибо Санджай

Ответ 13

Вот пример текста метки ячеек:

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

Убедитесь, что вы получили правильное имя шрифта, как было предложено выше.

Ответ 14

Не уверен, что этот ответ будет полезен, глядя на дату, когда вы разместили свой вопрос.... но чтобы помочь кому-то, возможно, кто это делает в данный момент,

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

setTitle: @ "o" o - это имя шрифта, не используйте unichar, вместо этого переименуйте свой шрифт на что-то еще предпочтительное письмо, например, если вы отметите fontello.com, выберите значок, затем нажмите кнопку настройки кода вкладка, поверх значка есть небольшой ящик, замените его на любую букву....

кричите, если его недостаточно ясно, я попытаюсь объяснить по-другому.

Ответ 15

Я создал библиотеку на быстром языке с простой интеграцией для UILabel, UIButton и UIBarButtonItem. Также поддерживает Pods. Шрифт Awesome Swift

Ответ 16

Это может помочь кому-то еще... У меня было около 90% значков шрифтов Awesome, работающих в моем проекте, за исключением нескольких из них, которые я не мог заставить их отображать правильно. Вместо этого вместо этого отобразится значок "...".

После нескольких часов исследования символов юникода в Objective-C я понял, что я лаял неправильное дерево! "..." не является значком FontAwesome, он говорит мне, что кадр UILabel слишком мал/слишком большой шрифт, чтобы отображать текстовую строку! D'о.