UIFont Helvetica-Regular字体问题

时间:2013-09-05 09:47:03

标签: iphone ios objective-c uifont

我需要使用Helvetica-Regular创建UIFont,我使用此代码:

UIFont *font = [UIFont fontWithName:@"Helvetica-Regular" size:size];

但字体是nill。 怎么做到这一点?

6 个答案:

答案 0 :(得分:5)

您可以查看iOS here支持的字体列表。此列表中没有 Helvetica Regular 字体。如果您想特别使用此字体名称,则必须将其添加为自定义字体。或者您只需使用 Helvetica 字体名称即可。要使用自定义字体,您可以浏览以下链接: -

How to use custom fonts in iPhone SDK?

How to include and use new fonts in iPhone SDK?

答案 1 :(得分:4)

没有字体名称Helvetica-regular

您可以使用以下表格

Helvetica
Helvetica-Bold
Helvetica-BoldOblique
Helvetica-Light
Helvetica-LightOblique
Helvetica-Oblique

答案 2 :(得分:3)

调试器有助于找到可用字体的类型: -

(lldb) po [UIFont fontNamesForFamilyName:@"Helvetica"]

(id) $1 = 0x079d8670 <__NSCFArray 0x79d8670>(
Helvetica
Helvetica-Bold
Helvetica-BoldOblique
Helvetica-Light
Helvetica-LightOblique
Helvetica-Oblique
    )

所以,你可以尝试其中任何一个。

礼貌: - https://stackoverflow.com/a/11741389/1865424

答案 3 :(得分:1)

Helvetica-Regular不是iOS中的字体名称。有关字体名称的更多详细信息,请使用iOS versionwise检查this link

答案 4 :(得分:0)

UIFont *font = [UIFont fontWithName:@"Helvetica" size:size];

要发现所有可用的字体及其名称:

+(void)dumpDescriptionOfAllAvailableFonts {

    NSMutableArray *allFonts = [NSMutableArray array];
    NSLog(@"%d font families", [[UIFont familyNames] count]);
    for(NSString *familyName in [UIFont familyNames]) {
        for(NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
            [allFonts addObject:fontName];
        }
    }

    NSLog(@"%d fonts", [allFonts count]);

    for(NSString *fontName in [allFonts sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"description" ascending:YES]]]) {
        NSLog(@"%@",[fontName description]);
    }
}

答案 5 :(得分:0)

您可以记录特定字体系列的所有可用样式,如下所示:

NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Helvetica"]) ;

&GT;

FontTest[41050:c07] (
    "Helvetica-LightOblique",
    Helvetica,
    "Helvetica-Oblique",
    "Helvetica-BoldOblique",
    "Helvetica-Bold",
    "Helvetica-Light"
)

你可能是在追求“Helvetica”......