2014-07-17 12 views
6

Mam widok tabeli, który zawiera niestandardowe komórki z etykietą. Chcę zmienić czcionkę tej etykiety na "Roboto-Bold". Ale to nie działa (wciąż ta sama domyślna czcionka). To, co zrobiłem do tej pory:iOS: Niestandardowa czcionka Robot-Bold (nie działa)

  • pobrane "Roboto-Bold.ttf"
  • Dodaj czcionki do mojego projektu
  • Modified Info.plist dodając: Czcionki przewidziane przez aplikację, item0 = Roboto-Bold.ttf
  • Dodano ten kod:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    EventOptionCell *cell = (EventOptionCell *)[tableView dequeueReusableCellWithIdentifier:@"EventOptionCell"]; 

    switch (indexPath.row) { 
     case 0: 
      cell.optionLabel.text = @"TEST NEW FONT"; 
      cell.optionLabel.font = [UIFont fontWithName:@"Roboto-Bold" size:20]; 
      cell.imageView.image = [UIImage imageNamed:@"icon-test.png"]; 
      break; 

     default: 
      break; 
    } 

    return cell; 
} 
+0

Czy sprawdziłeś, czy czcionka została dodana do twojego celu? – Cornelius

+0

Przepraszam, nie rozumiem, co masz na myśli, możesz wyjaśnić? –

+2

Wybierz plik czcionki w XCodes Project Navigator, a następnie otwórz panel Narzędzia inspektora plików (Cmd-Option-0). Powinieneś zobaczyć grupę "Docelowe członkostwo", a cel twojego projektu powinien mieć zaznaczone pole wyboru. Jeśli nie, sprawdź to i spróbuj ponownie. – Cornelius

Odpowiedz

7

Czasami podczas dodawania plik ttf do projektu XCode nie zostanie dodany do celu. Oznacza to, że nie zostanie uwzględniony w skompilowanym pakiecie aplikacji.

Wybierz plik czcionki w XCodes Project Navigator, a następnie otwórz panel Narzędzia inspektora plików (Cmd-Option-0). Powinieneś zobaczyć grupę "Docelowe członkostwo", a cel twojego projektu powinien mieć zaznaczone pole wyboru. Jeśli nie, sprawdź to i spróbuj ponownie.

+0

Mam do czynienia z problemem nawet po sprawdzeniu docelowego członkostwa. uprzejmie sugerować. –

+0

Upewnij się, że czcionka została poprawnie dodana do pliku Info.plist. Upewnij się również, że używasz poprawnej nazwy czcionki. Dobrym testem, aby sprawdzić, czy czcionka jest poprawnie dodana do projektu, jest ustawienie etykiety w Konstruktorze interfejsów na niestandardową czcionkę i sprawdzenie wyboru czcionki. – Cornelius

+0

Tak, sprawdziłem wczoraj samego siebie, działa dobrze. dzięki za odpowiedź –

1

Jeśli dodano go do pLIST i projekt, sprawdź czy rodziny czcionek na mes jest dokładnie taka sama jak nazwa pliku, są one czasami różni się trochę (a może „Robot Bold” lub tak) ...

krótkiego opisu, które mogłyby pomóc (od How to check if a font is available in version of iOS?)

NSArray *fontFamilies = [UIFont familyNames]; 

for (int i = 0; i < [fontFamilies count]; i++) { 
    NSString *fontFamily = [fontFamilies objectAtIndex:i]; 
    NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]]; 
    NSLog (@"%@: %@", fontFamily, fontNames); 
} 
1

Jeśli zrobiłeś wszystko powyżej i nadal nie działa. Jeszcze jeden błąd XCODE, który może to spowodować - Jeśli nigdy nie używałeś tej niestandardowej czcionki na storybooku/xib - dodaj ukrytą etykietę z tą czcionką (z Interface Builder), a następnie nagle programowo ją rozpozna ...

- Xcode 7.3.1 - nadal masz ten błąd

+0

To jest tak odświeżające, aby zobaczyć nowe bugi jabłkowe co jakiś czas. Czy mogę zapytać, w jaki sposób doszło do tego rozwiązania? – Abdul91

Powiązane problemy