iPhone系统字体

时间:2010-10-01 10:25:50

标签: ios iphone fonts typeface

iPhone上默认系统字体的名称是什么?

我想检索此内容以自定义UIView

12 个答案:

答案 0 :(得分:105)

  

让字体纯粹主义者高兴   无处不在,iPhone系统   界面使用Helvetica或变体   物。

     原来的iPhone,iPhone 3G和iPhone   iPhone 3GS系统界面使用   黑体。正如首先提到的那样   总是优秀的DaringFireball,   iPhone 4使用巧妙修改的字体   被称为“Helvetica Neue”。   DaringFireball也注意到了这一点   变化与iPhone 4有关   显示而不是iOS 4   操作系统和较旧的iPhone   运行iOS 4的模型仍在使用   Helvetica作为系统字体。

     之前发布的iPod型号   iPhone使用芝加哥,Espy Sans,   或Myriad并使用后的Helvetica   发布iPhone。

来自http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html

对于 iOS9 ,它已更改为 San Fransisco 。有关详细信息,请参阅http://developer.apple.com/fonts

答案 1 :(得分:103)

如果您正在进行编程自定义,请不要对系统字体进行硬编码。使用UIFont systemFontOfSize:UIFont boldSystemFontOfSize:UIFont italicSystemFontOfSizeApple documentation)。

自iOS 7以来,这已经变得尤为重要,它将系统字体更改为Helvetica Neue。

从iOS 9开始,这已成为 super 特别相关,它将系统字体再次更改为到旧金山。

答案 2 :(得分:15)

afaik iPhone默认使用“ Helvetica ” < iOS 10

答案 3 :(得分:11)

您可以随时使用

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

答案 4 :(得分:11)

夫特

特定字体

在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.preferredFontForTextStyle(UIFontTextStyleBody)

啊,现在我们为用户选择的Text Style大小提供了系统字体。这是设置字体的推荐方法。有关详细信息,请参阅Supporting Dynamic Type

相关

答案 5 :(得分:8)

我不确定是否有api来获取默认的系统字体名称。所以我得到这样的名字:

    //get system default font
    UILabel *label = [[UILabel alloc] init];        
    fontname = label.font.fontName;
    [label release];

看起来很愚蠢,但确实有效。

答案 6 :(得分:3)

以下是支持 iOS 7 的更新。它现在有Dynamic Font Size

  

对于支持“动态类型”的任何和所有应用,用户都可以选择   iOS 7中的字体大小适用于系统范围,只需访问   “常规”部分在“设置”下选择“字体大小”。

UIFont *dynamicFont  = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];

常量列表,详细解释为here

NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;

答案 7 :(得分:3)

UIFont UIInterface.h )的类别 UIFontSystemFonts 提供了几种方便的预定义尺寸。

@interface UIFont (UIFontSystemFonts)
 + (CGFloat)labelFontSize;
 + (CGFloat)buttonFontSize;
 + (CGFloat)smallSystemFontSize;
 + (CGFloat)systemFontSize;
@end 

我将它用于聊天消息(标签),当我需要获取文本块的大小时,它可以正常工作。

 [UIFont systemFontOfSize:[UIFont labelFontSize]];

快乐的编码!

答案 8 :(得分:3)

UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];

默认情况下,这将为您提供系统字体,默认系统字体大小应用于标签文本。

答案 9 :(得分:2)

<强>夫特

您应始终使用系统默认值而不是硬编码字体名称,因为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)

答案 10 :(得分:0)

  1. 下载必需的.ttf文件

  2. 在copy bundle资源下添加.ttf文件,仔细检查是否 ttf文件添加在资源

  3. 在info.pllist中按原样添加ttf文件名。

  4. 现在打开字体书,在字体书中添加.ttf文件,选择 信息图标,你找到了postscript名称。

  5. 现在在字体名称

  6. 的位置给出postscript名称

答案 11 :(得分:0)

iOS的默认字体是San Francisco。您可以参考link了解更多详情