2

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

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

但是字体是空的。如何正确地做到这一点?

4

6 回答 6

6

你可以在这里查看 iOS 支持的字体列表。Helvetica Regular字体不在此列表中。如果您想专门使用此字体名称,则必须将其添加为自定义字体。或者您可以简单地使用Helvetica字体名称。要使用自定义字体,您可以浏览这些链接:-

如何在 iPhone SDK 中使用自定义字体?

如何在 iPhone SDK 中包含和使用新字体?

于 2013-09-05T09:53:03.770 回答
5

没有字体名称Helvetica-regular

您可以使用以下表格

Helvetica
Helvetica-Bold
Helvetica-BoldOblique
Helvetica-Light
Helvetica-LightOblique
Helvetica-Oblique
于 2013-09-05T09:54:17.260 回答
4

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

(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

于 2013-09-05T09:55:52.547 回答
1

Helvetica-Regular 在 iOS 中不作为字体名称。有关字体名称的更多详细信息,请查看此链接与 iOS 版本。

于 2013-09-05T09:55:14.890 回答
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]);
    }
}
于 2013-09-05T09:49:28.770 回答
0

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

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

>

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

您可能正在追求“Helvetica”...

于 2013-09-05T09:55:22.770 回答