2012-02-24 6 views
5

Sto provando a utilizzare this font nel mio progetto ma non funzionerà. Ho aggiunto il file .ttf nel mio progetto e aggiunto il suo nome in MyApp-Info.plist sotto la chiave: Caratteri forniti dall'applicazione. Poi ho provato questo:Font personalizzati Xcode 4.3

[_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]]; 

Ho anche controllato se il nome del font è davvero "lavagna" e lo è. Il font visualizzato è ancora Helvetica, solo più piccolo. Dove potrebbe essere il problema? Grazie in anticipo.

+0

Ho riscontrato questo problema dal momento del passaggio a Xcode 4.3. Non importa cosa faccio, i font personalizzati non vengono installati. –

risposta

32

È necessario utilizzare il nome del font, non il nome del file. Il nome del font si trova all'interno del file ttf.

Si possono trovare i nomi dei font per iOS qui: http://iosfonts.com/

Questo codice elencherà tutti i nomi dei font nella vostra applicazione, metterlo da qualche parte in viewDidLoad il controller principale, eseguire app e poi in consolle trovato il nome giusto per il carattere

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

Aggiornamento.

È inoltre possibile fare clic destro sul file di font nel Finder, Ottieni informazioni e copiare nome completo. Ma non è sempre al 100%.

+0

Come ho detto, in realtà ho usato il nome del font, quello che ho letto quando ho aperto il font e non ha funzionato. Sfortunatamente (prova ad aprire il link) il carattere della lavagna che userei non è lo stesso installato su iOs .. – Lolloz89

+0

Hai provato [_titleLabel setFont: [UIFont fontWithName: @ "Chalkboard-Regular" size: _titleLabel.font.pointSize]] ; – Shmidt

+0

Non ha funzionato troppo .. – Lolloz89

3

Xcode 4.3.1 Il carattere personalizzato presenta un problema. Perché quando creo un nuovo progetto e provo ad aggiungere font personalizzati in Xcode 4.2.1 non ci sono problemi.

Ho fatto più volte. Interessante ...

24

La risposta di Flinks è uno strumento utile per verificare se i font sono caricati correttamente.

Evitare il seguente:

[_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]]; 

Assicurarsi che i font sono inclusi nel bundle:

  • Clicca il progetto
  • Vai build phases
  • Sotto 'Copy Bundle Resources', assicurarsi che il proprio i caratteri sono inclusi

Ha funzionato per me :)

+0

Grazie per questa risposta. Questo è stato il "passo mancante" che stavo cercando. ;-) –

+0

Ho cercato una risposta a questo per secoli! Era il "Copy Bundle Resources" che mi stava prendendo! Grazie mille! –

+0

Felice, ho potuto aiutare :) – Arne

1

È la mia esperienza che i caratteri non "tutti" sono compatibili. La maggior parte del lavoro, ma ti imbatterai in alcuni tipi di carattere che solo per qualche motivo non saranno riconosciuti attraverso il codice, non importa quanto duramente tu provi ... Solo un testa a testa per chiunque abbia problemi, basta provare un altro font!

+0

Pensavo di incontrarne uno quando ho provato ad aggiungere Bitstream Vera Sans Mono. Risulta che i passaggi precedenti funzionano benissimo per aggiungere il carattere all'app. I visualizza bene in un UITableView ma non sembra funzionare come una scelta di carattere per drawInRect. – JScarry

1

  1. Includere i font nel progetto XCode
  2. assicurarsi che essi siano inclusi nella composizione Target in File scheda ispettore
  3. Includere si carattere in Nome del progetto> Crea Fase> Copia Bundle Risorse
  4. Includi i tuoi font personalizzati iOS nella tua applicazione plist.Aggiungi una nuova riga chiamata "Caratteri forniti dall'applicazione" e inserisci il nome e l'estensione del tuo font come parametro.
  5. Trova il nome del carattere.
  6. Utilizzare UIFont e specificare il nome del carattere.

    UILabel * headingLabel = [[UILabel alloc] initWithFrame: CGRectMake (10, 290, 300, 30)];
    headingLabel.text = @ "BENVENUTO";
    headingLabel.font = [UIFont fontWithName: @ dimensione "Arvo": 14,0];

Fonte: http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/

0

Non tutti i font vi importato stanno lavorando. Prova a testare su un altro font. Se funziona, non viene riconosciuto da Xcode. Ricorda che deve essere presente nel tuo file plist di progetto e deve essere un nome di estensione come ".otf" o ".ttf" in plist. E aggiungilo anche in "Copy Bundle Resources" sotto il target