Вопрос по ios, swift, objective-c, unicode, font-awesome – Как интегрировать и использовать Font Awesome с Objective-C или Swift в проекте Xcode?

32

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

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

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

да .. У меня был установлен в моем Mac, и это TTF adit
Убедитесь, что вы используете шрифт ttf и сначала установите его на свой Mac, а затем добавьте в свой проект. Charan
Хорошо, NSLog семейство шрифтов и проверьте, отображается ли имя шрифта, который вы установили на вашем Mac или нет Charan
Кажется, я не могу отобразить шрифт на моем Mac. Можете ли вы попробовать загрузить шрифт и попробовать его? Это бесплатно adit
Я не сказал отображать на вашем Mac, я сказал вам NSLog семейство всех шрифтов и проверьте, печатает ли этот шрифт в консоли или нет Charan

Ваш Ответ

17   ответов
0

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

После нескольких часов изучения символов Юникода в Objective-C я понял, что я лаю не на том дереве! & Quot; ... & Quot; это не значок FontAwesome, это UIKit, говорящий мне, что рамка UILabel слишком мала / шрифт слишком велик для отображения текстовой строки! D & APOS; о.

15

Лучшее решение для FA с XCode:

  1. Copy the icon you want from http://fontawesome.io/cheatsheet/ (I mean mark and copy the icon itself):

enter image description here

  1. Then add a label to your storyboard, and on its properties:

enter image description here

  • RED - Choose FontAwesome as family
  • GREEN - Set the size you want
  • BLUE - Paste here what you copied in the 1st step. (dont worry about the question mark - in the view you should see it properly).

That's it.

If you need to change the icon in the code - you can paste 1st step inside your code too: enter image description here

Как вы получаете fontAwesome в качестве опции в семье?
Я могу видеть измененные значки fa в ярлыке раскадровки. Но, если я бегу, мой симулятор всегда показывает этот символ & quot;? & Quot; , Любая идея ?
14

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

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

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

спасибо за ссылку демо на github!
2

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]);
        }
    }
Хотя это старый ответ, он все же помог мне решить, почему мой файл шрифтов не загружался. Оказывается, имя семейства шрифтов изменилось в отличие от имени, которое я использовал в своем приложении в течение длительного времени. Пойди разберись. Спасибо за это.
8

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

так как мне это исправить? Я пытался использовать% @, и он все еще не работает adit
ВместоNSString *str = [NSString stringWithFormat:@"%C", @"\f030"];использовать@"\f030".
почему отсутствуют какие-либо значки валют?
Это не работает для меня, например, @ & quot; \ f021 & quot; печатает 3 точки, тогда как @ & quot; \ f0 & quot; печатает знак перезагрузки (который должен быть f021) и большинство других символов не там, я могу напечатать только очень мало
Возможно, вы можете потерять @ и распечатать его как C-char
15

ВSwift:

Font Awesome Cheatsheet.

Учебное пособие по интеграции шрифта под названием «Font 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)
Спасибо, это хорошо сработало для меня.
Определенно быстрый путь. Работает как шарм! Спасибо !
Фантастика, спасибо!
0

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

[self.homefeedbutton setTitle: @ & quot; o & quot; Форстат: UIControlStateNormal];     [self.homefeedbutton.titleLabel setFont: [UIFont fontWithName: @ & quot; fontawesome & quot; Размер: 30]];

SetTitle: @ & Quot; O & Quot; o - это имя шрифта, не используйте unichar, вместо этого переименуйте свой шрифт в другое, более предпочтительное письмо, например, если вы проверяете fontello.com, выбираете значок, затем нажимаете вкладку «Настройка кода», в верхней части значка есть маленькая коробка, поменяйте ее на любую букву ....

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

-1

Для использования пользовательских шрифтов убедитесь, что имя шрифта, которое вы дали в вашем списке и здесь, имеет одно и то же реальное имя. name.Check, если имя шрифта, который вы используете, действительно является именем этого шрифта.

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

да, это то же самое adit
Можете ли вы попробовать скачать шрифт и дать ему шанс в xcode adit
0

Если кому-то интересно, импортируйте следующее в файл .m.

import "NSString+FontAwesome.h"
4

Так что я могу ответить на это за Swift & amp; Цель C оба. (используя Swift 3.0 здесь)

Adding & configuring font-awesome file & Editing Storyboard

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

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

follow the sequence given in the image

Now the coding part

Swift 3.0

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

Objective C

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

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

entire source code

7

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

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

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

Кажется, что это правильный путь, но он не работает для меня, он работает для вас?
Интересно, есть ли способ ввести это из пользовательского интерфейса раскадровки. Я пытался, но только появился как текст. Обычно у нас есть дизайнерская работа по размещению иконок, поэтому было бы неплохо сделать это, не касаясь кода.
Это сработало для меня, так как я хотел использовать значок шрифта Flat UI Kit Icon Font (designmodo.github.io/Flat-UI). Я скопировал значение CSS для иконки и просто добавилu как сказано выше. Это сработало! :-) Пытался так часто без удачи, но это наконец-то сработало!
@ powerfade917, вы можете использовать раскадровку - просто скопируйте и вставьте значок (не код или Unicode) из таблицы (fortawesome.github.io/Font-Awesome/cheatsheet) в ярлык чего-то в вашей раскадровке. Не забудьте установить шрифт FontAwesome.
-1

Название шрифта FontAwesome выглядит так: FontAwesome

Пытаться[UIFont fontWithName:@"FontAwesome" size:8]].

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

0

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

1

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

0

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

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

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

5

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

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

label.text = [NSString fontAwesomeIconStringForIconIdentifier:@"icon-github"];
// or:
label.text = [NSString fontAwesomeIconStringForEnum:FAIconGithub];
Самое элегантное решение, спасибо за указание на это
3

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

Похожие вопросы