自定义字体在IOS中不显示(.otf类型)

自定义字体在IOS中不显示(.otf类型),ios,objective-c,iphone,xcode,fonts,Ios,Objective C,Iphone,Xcode,Fonts,我下面的San Fransico字体不工作 我已经在.plist中添加了所有otf文件,并使用该名称在代码中使用字体管理器设置字体,如下所示 lbl_1.font = [UIFont fontWithName:@"SFUIDisplay-Bold" size:20]; lbl_2.font = [UIFont fontWithName:@"SFUIDisplay-Medium" size:20]; lbl_3.font = [UIFont fontWithName:@"SFUIText-Lig

我下面的San Fransico字体不工作

我已经在.plist中添加了所有otf文件,并使用该名称在代码中使用字体管理器设置字体,如下所示

lbl_1.font = [UIFont fontWithName:@"SFUIDisplay-Bold" size:20];
lbl_2.font = [UIFont fontWithName:@"SFUIDisplay-Medium" size:20];
lbl_3.font = [UIFont fontWithName:@"SFUIText-Light" size:20];
lbl_4.font = [UIFont fontWithName:@"SFUIText-Regular" size:20];
lbl_5.font = [UIFont fontWithName:@"SFUIText-Semibold" size:20];
注意:我使用Zil-answer下载了.ttf及其工作原理。步骤1: 确保在项目中添加了字体

第二步: 确保在
info.plist中添加了字体

第三步: 确保在
复制捆绑资源中添加了字体

步骤1: 确保在项目中添加了字体

第二步: 确保在
info.plist中添加了字体

第三步: 确保在
复制捆绑资源中添加了字体

步骤1:确保已在项目中添加字体文件

第2步:在AppDelegate中运行下面的代码,检查得到的字体名称

for (NSString *familyName in [UIFont familyNames]){
    NSLog(@"Family name: %@", familyName);
    for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
        NSLog(@"--Font name: %@", fontName);
    }
}

可能是字体名称与您使用的不同。

步骤1:确保您在project中添加了字体文件

第2步:在AppDelegate中运行下面的代码,检查得到的字体名称

for (NSString *familyName in [UIFont familyNames]){
    NSLog(@"Family name: %@", familyName);
    for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
        NSLog(@"--Font name: %@", fontName);
    }
}

可能字体名称与您使用的不同。

字体不起作用有一些常见错误,让我列出所有这些错误,我相信您会发现您的问题:

  • 确保您已经在项目中添加了字体,并且可以在XCode中看到它们。您可以将它们放在根文件夹或特定文件夹中

  • 确保他们有正确的目标,或者他们确实有目标;)勾选方框,你就好了

请看这张图中的第1点和第2点。

  • 确保您的图像包含在当前捆绑包的资源中:

  • 确保在.plist文件中引用它们,如果它们在cusotm文件夹中,我非常确定您需要写下相对路径,而不仅仅是名称

  • 确保使用了正确的字体名称,可以使用以下代码段找到该名称:
目标C:

for (NSString* family in [UIFont familyNames])
{
    NSLog(@"%@", family);

    for (NSString* name in [UIFont fontNamesForFamilyName: family])
    {
        NSLog(@"  %@", name);
    }
}
斯威夫特:

for family: String in UIFont.familyNames()
{
     print("\(family)")
     for names: String in UIFont.fontNamesForFamilyName(family)
     {
         print("== \(names)")
     }
}
完成后不要忘记删除该代码。这将帮助您确保确实为字体使用了正确的姓氏,有时会与使用OSX字体查看器看到的实际名称不同

注意:如果你的字体不打印,那意味着它们不在项目中,如果它们打印,那意味着你没有成功加载它们,但它们在项目中。此特定步骤可以帮助您查明问题所在

  • 实际使用字体:

    UIFont myFont = [UIFont fontWithName:@"QuicksandDash-Regular" size:35];
    
谢谢你的实际提示

我100%肯定正确答案就在这里,所以确保你这边的一切都是正确的。除非你做了一些具体的反对使用字体的事情,否则重复这些步骤就足够了。
您可以尝试使用一个空项目并比较结果,这通常在遇到“无法解决的问题”时会有所帮助。

字体不工作有常见错误,让我列出所有错误,我相信您会发现问题:

  • 确保您已经在项目中添加了字体,并且可以在XCode中看到它们。您可以将它们放在根文件夹或特定文件夹中

  • 确保他们有正确的目标,或者他们确实有目标;)勾选方框,你就好了

请看这张图中的第1点和第2点。

  • 确保您的图像包含在当前捆绑包的资源中:

  • 确保在.plist文件中引用它们,如果它们在cusotm文件夹中,我非常确定您需要写下相对路径,而不仅仅是名称

  • 确保使用了正确的字体名称,可以使用以下代码段找到该名称:
目标C:

for (NSString* family in [UIFont familyNames])
{
    NSLog(@"%@", family);

    for (NSString* name in [UIFont fontNamesForFamilyName: family])
    {
        NSLog(@"  %@", name);
    }
}
斯威夫特:

for family: String in UIFont.familyNames()
{
     print("\(family)")
     for names: String in UIFont.fontNamesForFamilyName(family)
     {
         print("== \(names)")
     }
}
完成后不要忘记删除该代码。这将帮助您确保确实为字体使用了正确的姓氏,有时会与使用OSX字体查看器看到的实际名称不同

注意:如果你的字体不打印,那意味着它们不在项目中,如果它们打印,那意味着你没有成功加载它们,但它们在项目中。此特定步骤可以帮助您查明问题所在

  • 实际使用字体:

    UIFont myFont = [UIFont fontWithName:@"QuicksandDash-Regular" size:35];
    
谢谢你的实际提示

我100%肯定正确答案就在这里,所以确保你这边的一切都是正确的。除非你做了一些具体的反对使用字体的事情,否则重复这些步骤就足够了。
您可以尝试使用一个空项目并比较结果,这通常在遇到“无法解决的问题”时会有所帮助。

您是否在项目中添加了otf文件?我添加了一个相当完整的答案,希望您能在其中找到您需要的:)您是否在项目中添加了otf文件?我添加了一个相当完整的答案,我希望你能在那里找到你需要的:)我还想指出的是,寻找你正在尝试安装的字体的不同版本是值得的。我试图在应用程序中呈现的字体不起作用。我的设计师找到了不同版本(不同的SHA sum)的字体,相同的文件类型(otf),相同的字体样式,并且它工作正常。我还注意到,值得到处寻找您尝试安装的字体的不同版本。我试图在应用程序中呈现的字体不起作用。我的设计师发现了该字体的不同版本(不同的SHA-sum),相同的文件类型(otf),相同的字体样式,并且它工作正常。