题
iPhone 的默认系统字体名称是什么?
我想检索此内容以定制 UIView
.
解决方案
要字体纯化论的喜悦 无处不在,iPhone系统 接口使用黑体或变体 物。
在原始的iPhone,iPhone 3G和 iPhone 3GS的系统接口的用途 黑体。随着第一注意 始终以卓越的DaringFireball的 iPhone 4采用一个微妙订正字体 所谓的 “Helvetica Neue字体。” DaringFireball还指出,这 变化是关系到iPhone 4 显示而不是iOS 4的 操作系统和旧款iPhone 运行iOS 4仍然使用模型 黑体作为系统字体。
之前的iPod型号释放 iPhone使用或者芝加哥,埃斯皮桑斯 或无数和使用黑体后 释放的iPhone。
从 HTTP:/ /www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.html
有关的 iOS9 强>它改变为旧金山即可。请参阅 http://developer.apple.com/fonts 获得更多的信息。
其他提示
如果您正在进行编程自定义,请不要对系统字体进行硬编码。使用 UIFont systemFontOfSize:
, UIFont boldSystemFontOfSize:
和 UIFont italicSystemFontOfSize
(苹果文档).
自 iOS 7 将系统字体更改为 Helvetica Neue 以来,这一点变得尤为重要。
这已经成为 极好的 自 iOS 9 以来尤其重要,它改变了系统字体 再次 到旧金山。
AFAIK iPhone用途 “的黑体强>” 默认
迅速
特定字体
在 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
我不知道有一个API来获取默认的系统字体名称。所以,我刚刚得到的名字是这样的:
//get system default font
UILabel *label = [[UILabel alloc] init];
fontname = label.font.fontName;
[label release];
看起来笨但很有效。
这是一些支持更新 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]];
快乐编码!
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)
beaware默认字体大小取决于目标视图(标签,按钮等)
示例:
let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
下载所需的.ttf文件
在复制包资源下添加.ttf文件,仔细检查是否在资源下添加了TTF文件
在 info.pllist 中按原样添加 ttf 文件名。
现在,打开字体书在字体书中添加.ttf文件,在其中选择信息图标,您可以找到PostScript名称。
现在用附记名称代替字体名称
为iOS默认字体是旧金山。您可以参阅链接进一步细节