UIFont fontWithName return 无
UIFont fontWithName return nil
此代码return Me nil in font.
我将打开的 sans ttf 文件添加到项目文件夹中。
我错过了什么?
UIFont *font = [UIFont fontWithName:@"OpenSans-Bold" size:fontSize];
if (font)
{
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:font size:fontSize] range:NSMakeRange(location, length)];
label.attributedText = str;
}
首先,您的 .ttf 文件是否已在 .plist 文件中注册?
其次,您的字体是否已添加到“Copy Bundle Resources”? (在目标->构建阶段下)
接下来尝试使用此代码列出所有可用字体及其名称。这样您就可以确保为您的字体使用正确的标识符。
for (NSString* fontFamily in [UIFont familyNames]) {
NSArray *fontNames = [UIFont fontNamesForFamilyName:fontFamily];
NSLog (@"%@: %@", fontFamily, fontNames);
}
编辑
由于这个答案有点旧,我用 Swift 3.0:
的相应答案更新了它
_ = UIFont.familyNames.map {
let fontNames = UIFont.fontNames(forFamilyName: [=11=])
print("Font Family: \([=11=]), Font Names: \(fontNames)\n")
}
此代码return Me nil in font.
我将打开的 sans ttf 文件添加到项目文件夹中。
我错过了什么?
UIFont *font = [UIFont fontWithName:@"OpenSans-Bold" size:fontSize];
if (font)
{
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:font size:fontSize] range:NSMakeRange(location, length)];
label.attributedText = str;
}
首先,您的 .ttf 文件是否已在 .plist 文件中注册? 其次,您的字体是否已添加到“Copy Bundle Resources”? (在目标->构建阶段下)
接下来尝试使用此代码列出所有可用字体及其名称。这样您就可以确保为您的字体使用正确的标识符。
for (NSString* fontFamily in [UIFont familyNames]) {
NSArray *fontNames = [UIFont fontNamesForFamilyName:fontFamily];
NSLog (@"%@: %@", fontFamily, fontNames);
}
编辑
由于这个答案有点旧,我用 Swift 3.0:
的相应答案更新了它_ = UIFont.familyNames.map {
let fontNames = UIFont.fontNames(forFamilyName: [=11=])
print("Font Family: \([=11=]), Font Names: \(fontNames)\n")
}