应用程序提供的字体列表(iOS)

有没有人知道如何从Xcode的info.plist文件中的'应用程序提供的字体'键获取自定义字体的列表? 谢谢

以下代码从Info.plist中读取自定义字体文件的列表,并从字体文件中提取完整的字体名称。 (部分代码从https://stackoverflow.com/a/17519740/1187415复制,进行小的修改和ARC调整)。

Objective-C的

NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary]; NSArray* fontFiles = [infoDict objectForKey:@"UIAppFonts"]; for (NSString *fontFile in fontFiles) { NSLog(@"file name: %@", fontFile); NSURL *url = [[NSBundle mainBundle] URLForResource:fontFile withExtension:NULL]; NSData *fontData = [NSData dataWithContentsOfURL:url]; CGDataProviderRef fontDataProvider = CGDataProviderCreateWithCFData((__bridge CFDataRef)fontData); CGFontRef loadedFont = CGFontCreateWithDataProvider(fontDataProvider); NSString *fullName = CFBridgingRelease(CGFontCopyFullName(loadedFont)); CGFontRelease(loadedFont); CGDataProviderRelease(fontDataProvider); NSLog(@"font name: %@", fullName); } 

Swift 3相当于:

 if let infoDict = Bundle.main.infoDictionary, let fontFiles = infoDict["UIAppFonts"] as? [String] { for fontFile in fontFiles { print("file name", fontFile) if let url = Bundle.main.url(forResource: fontFile, withExtension: nil), let fontData = NSData(contentsOf: url), let fontDataProvider = CGDataProvider(data: fontData) { let loadedFont = CGFont(fontDataProvider) if let fullName = loadedFont.fullName { print("font name", fullName) } } } } 

你可以添加你的服装字体http://www.danielhanly.com/blog/tutorial/including-custom-fonts-in-ios/ 在这里输入图像说明 但是,我不知道如何得到这个清单,对不起。 但是,可能你可以在IB中看到它,在UILabel属性中。