Answers:
为了使各地的字体纯粹主义者满意,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,它已更改为San Fransisco。有关更多信息,请参见http://developer.apple.com/fonts。
如果要进行程序化定制,请不要对系统字体进行硬编码。使用UIFont systemFontOfSize:
,UIFont boldSystemFontOfSize:
和UIFont italicSystemFontOfSize
(苹果文件)。
自从iOS 7将系统字体更改为Helvetica Neue以来,这一点就变得尤为重要。
这已经成为超级以来的iOS 9,它改变了系统字体特别是有关再次到旧金山。
UIFont
使用给定的大小为您提供系统字体的实例,并且无论将来是否进行iOS更新,都将始终返回系统字体。
Helvetica
。
特定字体
在Swift中设置特定字体的操作如下:
let myFont = UIFont(name: "Helvetica", size: 17)
如果您不知道名称,则可以获取可用字体名称的列表,如下所示:
print(UIFont.familyNames())
或更像这样的详细列表:
for familyName in UIFont.familyNames() {
print(UIFont.fontNamesForFamilyName(familyName))
}
但是系统字体随iOS版本的不同而变化。因此,最好动态获取系统字体。
系统字体
let myFont = UIFont.systemFontOfSize(17)
但是,我们已经将尺寸硬编码了。如果用户的眼睛不好并且他们想要放大字体怎么办?当然,您可以在应用程序中为用户设置设置以更改字体大小,但是如果用户必须为手机上的每个应用程序单独进行设置,这将很烦人。仅更改常规设置会更容易...
动态字体
let myFont = UIFont.preferredFont(forTextStyle: .body)
啊,现在我们已经在用户所选大小的系统字体文本样式,我们正在处理。这是设置字体的推荐方法。有关更多信息,请参见支持动态类型。
您可以随时使用
UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);
答案是:
最高iOS 6
Helvetica Helvetica
IOS 7
.Helvetica Neue Interface .HelveticaNeueInterface-M3
但是你可以用 Helvetica Neue
.SFUIText-Regular
身份是systemFont.familyName
我不确定是否有API可以获取默认的系统字体名称。所以我只得到这样的名字:
//get system default font
UILabel *label = [[UILabel alloc] init];
fontname = label.font.fontName;
[label release];
看起来很蠢,但是行得通。
[UIFont systemFontOfSize:[UIFont labelFontSize]];
请参阅下面的答案。
这是一些支持iOS 7的更新。它有Dynamic Font Size
现在。
对于所有支持“动态类型”的应用程序,用户只需访问“设置”下的“常规”部分并选择“字体大小”,即可在iOS 7中选择适用于系统范围的字体大小。
UIFont *dynamicFont = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
和常量列表,详细说明在这里
NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;
分类UIFontSystemFonts为UIFont(UIInterface.h)提供了一些便利的预定义的大小。
@interface UIFont (UIFontSystemFonts)
+ (CGFloat)labelFontSize;
+ (CGFloat)buttonFontSize;
+ (CGFloat)smallSystemFontSize;
+ (CGFloat)systemFontSize;
@end
我将它用于聊天消息(标签),当我需要获取文本块的大小时,它可以很好地工作。
[UIFont systemFontOfSize:[UIFont labelFontSize]];
编码愉快!
迅速
您应该始终使用系统默认值,而不要对字体名称进行硬编码,因为Apple可以随时更改默认字体。
有几种不同大小(标签,按钮,其他)的系统默认字体(普通,粗体,斜体):
let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)
请注意默认字体大小取决于目标视图(标签,按钮等)
例子:
let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
iOS的默认字体是San Francisco。您可以参考该链接以获取更多详细信息