2013-05-19 17 views
10

Chciałbym użyć czcionki na UILabel, ale nie jest ona wyświetlana w symulatorze systemu iOS. Pojawia się tylko domyślna czcionka systemowa. Mam:Czcionka OpenSans nie działa w symulatorze iOS.

1) Dodano pliki do projektu + wybrane do skopiowania do folderu aplikacji.

2) Dodano do Info.plist.

info.plist

3) Xcode automatycznie dodawane wszystkie czcionki do notatnika fazy budowy.

4) Oczyszczone projektu + zbudowany ponownie.

I nadal się nie wyświetla! W moim kodzie mam to:

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

Ktoś wie, co powoduje ten dziwaczny błąd?

+3

Należy pamiętać, że 'fontWithName' wymaga nazwy czcionki, a nie nazwy pliku. Nazwa czcionki może być "OpenSans ExtraBold" lub podobna, możesz to sprawdzić, jeśli otworzysz czcionkę w aplikacji "Książka z czcionkami". –

+1

może to być wpisanie błędnej nazwy czcionki, wydrukowanie listy wszystkich skonfigurowanych czcionek i dwukrotne sprawdzenie nazwy.! –

Odpowiedz

9

Naprawiono błąd, ponieważ spowodował ten drobny błąd.

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

Extrabold nie ExtraBold. Otworzyłem przeglądarkę czcionek zgodnie z zaleceniami i pokazałem, że pod numerem PostScript Name.

Użyłem teraz #define, aby umieścić tam nazwę ciągu czcionek i używać jej w całej mojej aplikacji, aby uniknąć błędu użytkownika i literalnych ciągów znaków w środku mojego kodu.

Powiązane problemy