【发布时间】:2010-09-24 01:25:04
【问题描述】:
我查看了UIFont 的标题,但它包含所有类方法,只有一个实例方法和一些无用的属性。我想知道如何将字体设置为具有字体名称,以及粗体字重有点像[[UIFont alloc] initWithFontName:@"Courier New" weight:@"Bold" size:14];。提前感谢您的帮助!
~汤米
【问题讨论】:
我查看了UIFont 的标题,但它包含所有类方法,只有一个实例方法和一些无用的属性。我想知道如何将字体设置为具有字体名称,以及粗体字重有点像[[UIFont alloc] initWithFontName:@"Courier New" weight:@"Bold" size:14];。提前感谢您的帮助!
~汤米
【问题讨论】:
我找到了答案,那就是使用 font-family 的粗体字体:
CourierNewPS-BoldMT 并且有效:
我通过使用 [UIFont fontNamesForFamilyName:@"Courier New"] 方法发现了这一点,该方法返回了一个包含 Courier New 的所有不同变体的数组,包括粗体和斜体等。
【讨论】:
我向 UIFont 添加了一个类别来执行此操作,前提是字体的粗体版本包含粗体字...
- (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;
}
【讨论】:
Google 搜索出现了这个list of available iPhone font names。
【讨论】: