2015-11-06 5 views
0

Я разрабатываю как для Android, так и для iOS. У меня есть API погоды, в котором я должен показать конкретную иконку, основанную на климатическом состоянии. Для этого я использую Weather.ttf.Как использовать погодные шрифты в iOS SDK

В андроида я делаю так:

<string name="weather_sunny">&#xf00d;</string> 
    <string name="weather_clear_night">&#xf02e;</string> 
    <string name="weather_foggy">&#xf014;</string> 
    <string name="weather_cloudy">&#xf013;</string> 

И, используя имя, которое я могу получить изображение.

Но когда В iOS Я присваиваю текст &#xf00d;UILabel Я получаю этот текст как выход. Как это можно использовать для получения значка.

+0

может эта ссылка поможет вам http://www.creativebloq.com/app-design/icon-fonts- in-apps-21410734 – Mukesh

+0

@muku Я тоже пробовал этот, но charic работают unicode ... но когда он вводит '& # xf00d;' он не – Dalvik

ответ

1

Наконец, после дня усилий я пришел к этому решению. Для использования шрифтов погоды в iOS SDK вам нужен файл шрифта Weather.ttf.

Код, который я использовал для отображения значков, - &#xf013;, который является HTML Entity, поэтому я не смог его обработать.

Поэтому я использую this ссылку для его преобразования в UTF String. Я использовал этот код.

Убедитесь, что вы используете правильный шрифт Name.To find Правильное имя шрифта Я использую этот код.

NSArray * fontsArray = [UIFont familyNames];//this gives array of all fonts 
NSArray *newArray = [UIFont fontNamesForFamilyName:@"Weather Icons"];//Weather Ions must be listed in fontsArray so that you get all details in newArray 

Теперь вы должны просто установить код шрифта и UTF в UILabel

[lblCloud setFont:[UIFont fontWithName:@"WeatherIcons-Regular" size:14.0]]; 
lblCloud.text = [NSString stringWithUTF8String:"\uf014"]; 
3

Вы должны добавить свой ttf в свой проект, и в вашем проекте project.plist (по умолчанию Info.plist) вам необходимо добавить запись «Шрифты, предоставляемые приложением». Внутри этой записи вам нужно добавить имя ваших файлов ttf.

ПРИМЕЧАНИЕ. Это не позволяет установить этот шрифт в Interface Builder. Вы должны установить его вручную с помощью кода. Пример: [label setFont: [UIFont fontWithName: @ "name_of_your_font" size: 12.0]];

UPDATE

А затем попробуйте установить текст с stringWithUTF8String с "\ XEF \ x80 \ x8D".

UPDATE 2

Имя шрифта "WeatherIcons-Regular". И в зависимости от значения, вы должны установить его в виде простой строки с «\ и» до значения:

[label setFont:[UIFont fontWithName:@"WeatherIcons-Regular" size:12.0]]; 
[label setText:@"\uF00D"]; 

И это все. Я тестировал его, и он работает.

+0

О, я не видел. Это точно так же, как это объясняется в ссылке muku Опубликовано – nigelman

+0

Я не могу использовать это ... другие коды работают, но мой weather.ttf не работает – Dalvik

+0

Попробуйте «\ xEF \ x80 \ x8D», то есть & # xf00d преобразование в UTF-8 hex. Я собираюсь обновить свой ответ – nigelman

Смежные вопросы