iPhone上默认系统字体的名称是什么?
我想检索此内容以自定义UIView
。
答案 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 italicSystemFontOfSize
(Apple 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)
下载必需的.ttf文件
在copy bundle资源下添加.ttf文件,仔细检查是否 ttf文件添加在资源
在info.pllist中按原样添加ttf文件名。
现在打开字体书,在字体书中添加.ttf文件,选择 信息图标,你找到了postscript名称。
现在在字体名称
答案 11 :(得分:0)
iOS的默认字体是San Francisco。您可以参考link了解更多详情