iPhone上默认系统字体的名称是什么?
我想检索这个以定制UIView
。
令所有字体纯粹主义者高兴的是,iPhone系统界面使用Helvetica或其变体。
最初的iPhone,iPhone 3G和iPhone 3GS系统接口使用Helvetica。正如优秀的DaringFireball首先提到的那样,iPhone 4采用了一种名为“Helvetica Neue”的精巧修改字体。 DaringFireball还指出,这种变化与iPhone 4显示器而不是iOS 4操作系统有关,运行iOS 4的旧款iPhone仍然使用Helvetica作为系统字体。
iPhone之前发布的iPod型号使用Chicago,Espy Sans或Myriad,并在iPhone发布后使用Helvetica。
来自http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html
对于iOS9,它已改为旧金山。有关更多信息,请参阅qazxsw poi。
迅速
您应始终使用系统默认值而不是硬编码字体名称,因为Apple可以随时更改默认字体。
有几种不同大小的系统默认字体(普通,粗体,斜体)(标签,按钮,其他):
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];
请注意,默认字体大小取决于目标视图(标签,按钮,其他)
例子:
let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)
如果您正在进行编程自定义,请不要对系统字体进行硬编码。使用http://developer.apple.com/fonts,UIFont systemFontOfSize:
和UIFont boldSystemFontOfSize:
(UIFont italicSystemFontOfSize
)。
自iOS 7以来,这已经变得尤为重要,它将系统字体改为Helvetica Neue。
自iOS 9以来,这已经变得特别相关,它再次将系统字体改为旧金山。
afaik iPhone默认使用“Helvetica”<iOS 10
你可以随时使用
Apple documentation
答案是:
最高iOS 6
UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);
IOS 7
Helvetica Helvetica
但你可以使用.Helvetica Neue Interface .HelveticaNeueInterface-M3
具体字体
在Swift中设置特定字体是这样的:
Helvetica Neue
如果您不知道名称,可以获取可用的字体名称列表,如下所示:
let myFont = UIFont(name: "Helvetica", size: 17)
或者更详细的列表如下:
print(UIFont.familyNames())
但是系统字体从iOS版本变为版本。因此,动态获取系统字体会更好。
系统字体
for familyName in UIFont.familyNames() {
print(UIFont.fontNamesForFamilyName(familyName))
}
但是我们的硬件编码很大。如果用户眼睛坏了又想让字体变大,该怎么办?当然,您可以在应用中为用户设置一个设置来更改字体大小,但如果用户必须为手机上的每个应用单独执行此操作,这将会很烦人。在一般设置中进行一次更改会更容易...
动态字体
let myFont = UIFont.systemFontOfSize(17)
啊,现在我们有用户选择的大小的系统字体,用于我们正在使用的let myFont = UIFont.preferredFontForTextStyle(UIFontTextStyleBody)
。这是设置字体的推荐方法。有关详细信息,请参阅Text Style。
这是支持iOS 7的一些更新。它现在有 //get system default font
UILabel *label = [[UILabel alloc] init];
fontname = label.font.fontName;
[label release];
。
对于支持“动态类型”的任何和所有应用,用户可以选择iOS 7中适用于系统范围的字体大小,只需访问“设置”下的“常规”部分并选择“字体大小”即可。
Dynamic Font Size
和常量列表,详细解释是UIFont *dynamicFont = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
here
UIFont的类别UIFontSystemFonts(UIInterface.h)提供了几种方便的预定义大小。
NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;
我将它用于聊天消息(标签),当我需要获得文本块的大小时,它可以很好地工作。
@interface UIFont (UIFontSystemFonts)
+ (CGFloat)labelFontSize;
+ (CGFloat)buttonFontSize;
+ (CGFloat)smallSystemFontSize;
+ (CGFloat)systemFontSize;
@end
快乐的编码!
[UIFont systemFontOfSize:[UIFont labelFontSize]];
这将为您提供系统字体,默认情况下为标签文本应用默认系统字体大小。