2013-05-19 4 views
10

Я хотел бы использовать шрифт OpenSans на UILabel, но он не отображается в симуляторе iOS. Все, что появляется, это системный шрифт по умолчанию. У меня есть:Шрифт OpenSans, не работающий в симуляторе iOS

1) Добавлены файлы в проект +, выбранный для копирования в папку приложения.

2) Добавлено в Info.plist.

info.plist

3) Xcode автоматически добавлены все шрифты в моей папке фазы сборки.

4) Очистил проект + снова построил его.

И он по-прежнему не появляется! В моем коде у меня есть следующее:

self.itemPrice = [[UILabel alloc] initWithFrame:CGRectMake(230.0, 30.0, 75.0, 30.0)]; 
     self.itemPrice.adjustsFontSizeToFitWidth = YES; 
     self.itemPrice.font = [UIFont fontWithName:@"OpenSans-ExtraBold" size:13.0f]; 
     self.itemPrice.textAlignment = NSTextAlignmentCenter; 
     self.itemPrice.text = [NSString stringWithFormat:@"%@", [Formatters formatPrice:self.item.price]]; 
     [self.slidingDetailScrollView addSubview:self.itemPrice]; 

Кто-нибудь знает, что вызывает эту причудливую ошибку?

+3

Обратите внимание, что для 'fontWithName' требуется имя шрифта, а не имя файла. Имя шрифта может быть «OpenSans ExtraBold» или аналогичным, вы можете проверить это, если вы откроете шрифт в приложении «Шрифтовая книга». –

+1

Возможно, вы печатаете неправильное имя шрифта, распечатываете все настроенные списки шрифтов и дважды проверяете имя.! –

ответ

9

Исправлено, из-за этой незначительной ошибки.

self.itemPrice.font = [UIFont fontWithName:@"OpenSans-Extrabold" size:13.0f]; 

Extrabold, не ExtraBold. Я открыл окно просмотра шрифтов, как рекомендовано, и он показал, что под PostScript Name.

Я использовал #define, чтобы разместить там строковое имя шрифта и использовать его во всем приложении, чтобы избежать ошибок пользователя и литералов в середине моего кода.

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