IOS:如何在我的应用中列出已安装的自定义字体

IOS: How to list an already installed custom font in my app

提问人:sivan 提问时间:12/8/2022 最后编辑:sivan 更新时间:12/8/2022 访问量:129

问:

我正在为 iPad 构建一个应用程序,并希望在我的 ipad 中使用已安装的自定义字体。我从Adobe Creative Cloud Suite下载了自定义字体(Cabin Sketch)。安装后,我能够在“常规>字体”中看到字体

在我的代码中,我尝试打印系统中所有可用的字体,但无法看到已安装的字体。

以下是我尝试打印字体系列的代码。

    NSDictionary *descriptorOptions = @{(id)kCTFontDownloadedAttribute : @YES}; // tried kCTFontDownloadableAttribute too
    CTFontDescriptorRef descriptor = CTFontDescriptorCreateWithAttributes((CFDictionaryRef)descriptorOptions);
    CFArrayRef fontDescriptors = CTFontDescriptorCreateMatchingFontDescriptors(descriptor, NULL);
    for(UIFontDescriptor *descriptor in (NSArray *)CFBridgingRelease(fontDescriptors)) {
        NSString *fontFamilyName = [descriptor objectForKey:UIFontDescriptorFamilyAttribute];
        NSLog(@"Font Family Name = %@", fontFamilyName);
    }
    NSArray *familyNames = [UIFont familyNames];
    for (NSString *aFamilyName in familyNames) {
         NSArray *fontNames = [UIFont fontNamesForFamilyName:aFamilyName];
         for (NSString *aFontName in fontNames) {
            NSLog(@"%@", aFontName);
         }
    }
    QCFType<CFArrayRef> familyNames = CTFontManagerCopyAvailableFontFamilyNames();
    for (NSString *familyName in familyNames.as<const NSArray *>())
        NSLog(@"%@", familyName);

提前致谢。

IOS的 Objective-C iPad的

评论

1赞 Paulw11 12/8/2022
您是否已将“字体”功能添加到您的应用并选中了“使用已安装的字体”复选框?
0赞 sivan 12/9/2022
@Paulw11我该怎么做呢?作为记录,我使用的是 Objective C,并且要求所有配置都通过代码完成
0赞 Paulw11 12/9/2022
您不能通过代码执行此操作 - 这是您需要在 Xcode 中添加到项目中的一项功能 - 在 Xcode 项目中选择 Target,然后在“签名和功能”选项卡中,单击“+ 功能”并选择“字体”。观看此视频,了解有关使用此功能的信息
0赞 sivan 12/9/2022
所以我有这个测试应用程序可以尝试,但在“+ 功能”下我看不到字体
2赞 Paulw11 12/9/2022
您使用的是哪个版本的 Xcode?您面向哪个版本的 iOS SDK?请注意,即使使用字体功能,也无法列出用户字体。你必须使用 - 这在WWDC视频中从18:16左右开始介绍UIFontPickerViewController

答: 暂无答案