Reputation: 16082
I have looked at the headers for UIFont
but it has all class methods and only one instance method and some useless properties. I would like to know how to set the font to have a font name, and bold font weight kinda like [[UIFont alloc] initWithFontName:@"Courier New" weight:@"Bold" size:14];
. Thanks for any help in advance!
~Thommy
Upvotes: 2
Views: 8171
Reputation: 2475
I added a category to UIFont to do this, provided the Bold version of the font contains the word bold...
- (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;
}
Upvotes: 5
Reputation: 16082
I figured out the answer, and that was to use the font-family's bolded version of the font:
CourierNewPS-BoldMT
and that worked :
I found this out by using the [UIFont fontNamesForFamilyName:@"Courier New"]
method which returned an array of all the different variations of Courier New including, Bolded and Italic etc.
Upvotes: 6
Reputation: 70743
A Google search turns up this list of available iPhone font names.
Upvotes: 3