iPhone系统字体

问题描述 投票:92回答:11

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

我想检索这个以定制UIView

ios iphone fonts typeface
11个回答
105
投票

令所有字体纯粹主义者高兴的是,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。


2
投票

迅速

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

0
投票
  1. 下载所需的.ttf文件
  2. 在copy bundle资源下添加.ttf文件,仔细检查是否在资源下添加了ttf文件
  3. 在info.pllist中按原样添加ttf文件名。
  4. 现在打开字体书在字体书中添加.ttf文件,选择信息图标,在那里找到postscript名称。
  5. 现在在字体名称的位置给出postscript名称

103
投票

如果您正在进行编程自定义,请不要对系统字体进行硬编码。使用http://developer.apple.com/fontsUIFont systemFontOfSize:UIFont boldSystemFontOfSize:UIFont italicSystemFontOfSize)。

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

自iOS 9以来,这已经变得特别相关,它再次将系统字体改为旧金山。


15
投票

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


11
投票

你可以随时使用

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


11
投票

Swift

具体字体

在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

Related


8
投票

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

How do I make an attributed string using Swift?

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


3
投票

这是支持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

3
投票

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 

快乐的编码!


3
投票
 [UIFont systemFontOfSize:[UIFont labelFontSize]];

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

© www.soinside.com 2019 - 2024. All rights reserved.