cem*_*cem 35 fonts cocoa-touch objective-c ios
我已经阅读了可用的字体系列[UIFont familyNames],但我在不同的设备上有各种列表(但具有相同的iOS版本).有人可以告诉我,如果使用上述方法列出的字体是否包含其他已安装应用程序提供的自定义字体,或者这些字体是否只是iOS附带的字体?
kak*_*git 97
是的,它显示了应用中的所有字体,包括您添加的自定义字体.这是列出所有字体的较短代码:
for (NSString *familyName in [UIFont familyNames]){
NSLog(@"Family name: %@", familyName);
for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
NSLog(@"--Font name: %@", fontName);
}
}
Run Code Online (Sandbox Code Playgroud)
for familyName:AnyObject in UIFont.familyNames() {
print("Family Name: \(familyName)")
for fontName:AnyObject in UIFont.fontNamesForFamilyName(familyName as! String) {
print("--Font Name: \(fontName)")
}
}
Run Code Online (Sandbox Code Playgroud)
for familyName:String in UIFont.familyNames {
print("Family Name: \(familyName)")
for fontName:String in UIFont.fontNames(forFamilyName: familyName) {
print("--Font Name: \(fontName)")
}
}
Run Code Online (Sandbox Code Playgroud)
chr*_*ick 13
以下是列出所有字体的正确代码段:
// List all fonts on iPhone
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames = [[NSArray alloc] initWithArray:
[UIFont fontNamesForFamilyName:
[familyNames objectAtIndex:indFamily]]];
for (indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]);
}
}
Run Code Online (Sandbox Code Playgroud)
我相信这些只是 iOS 附带的字体。您需要查找相应的任何自定义字体.otf或.ttf文件并将该文件包含在您的项目资源中。
这么说是因为,我想使用HelveticaNeue-UltraLight字体。它在 iOS 中列出,您可以在 Xcode 中看到此字体选项。但选择后什么也没有发生。为此,我必须执行上述操作并放入HelveticaNeue-UltraLight字体文件。
| 归档时间: |
|
| 查看次数: |
25895 次 |
| 最近记录: |