Domanda

Ho guardato le intestazioni per UIFont ma ha tutti i metodi della classe e soltanto un metodo di istanza e alcune proprietà inutili. Mi piacerebbe sapere come impostare il tipo di carattere per avere un nome di carattere, e il peso grassetto kinda come [[UIFont alloc] initWithFontName:@"Courier New" weight:@"Bold" size:14];. Grazie per qualsiasi aiuto in anticipo!

~ Thommy

È stato utile?

Soluzione

ho capito la risposta, e che era di usare la versione in grassetto del font-family del carattere: CourierNewPS-BoldMT e che ha lavorato:

Ho trovato questo utilizzando il metodo [UIFont fontNamesForFamilyName:@"Courier New"] che restituito un array di tutte le diverse varianti di Courier New compresi, grassetto e corsivo etc.

Altri suggerimenti

ho aggiunto una categoria per UIFont per fare questo, a condizione che la versione Bold del carattere contiene la parola in grassetto ...

- (UIFont *)boldFont {
    NSArray *fontNames = [UIFont fontNamesForFamilyName:self.familyName];
    for (NSString *fontName in fontNames) {
        NSString *upperCaseFontName = [fontName uppercaseString];
        if ([upperCaseFontName rangeOfString:@"BOLD"].location != NSNotFound) {
            return [UIFont fontWithName:fontName size:self.pointSize];
        }
    }
    return self;
}

Una ricerca di Google salta fuori questo elenco di iPhone disponibili nomi di carattere .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top