读完它iOS字体就没什么难的了.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网址:edu.51CTO.com 读完它iOS字体就没什么难的了! 写本文的契机主要是把自己整理的关于iOS字体方面的知识不断更新写在这篇博文中,用来自己以后查阅。 一、iOS原生字体展示 在label中选择字体的font,并把font由system改成custom后,就能在family中看到72种特殊字体。这些里面就有很炫的字体,但是全部是只针对英文数字,对中文无效。写了一个程序把所有的原生样式遍历出来展示可以达到如下效果。可以清楚地看到每个字体对应的样式,不用再一个个试了。 一共是72种样式,我这个demo程序有两种展示方法,简洁展示和详细展示,简洁展示中只会把每个family的第一个font拿出来展示。最后一张图是详细展示界面的。分了group展示,每个section对应一个family。可以看出苹果的原生字体还是有很多美观的字体,只是都仅对英文支持。 相信现在大部分的软件大部分的项目都是这么写代码的: label.font?=?[UIFont?systemFontOfSize:14];? 如果不想用默认系统字体则需要使用此方法赋值: UIFont?*font?=?[UIFont?fontWithName:@Georgia?size:14];? 这里传进Name里的参数是familyName而不是fontName。 二、获取family名称 那么如何获取这个family的名称? 方法1:在storyboard中或是xib中用label的图形化界面选中一个自己喜欢的样式,然后把名称记下写到代码中。 方法2:上面就有啊,从上面5张图中选吧。 方法3:(推荐)遍历 在UIFont类中有这些关于家族名和字体名的开放API,通过这些可以清晰的写个遍历打印,查看所有的familyName和其中包含的fontName int?i?=?0;? for(NSString?*fontfamilyname?in?[UIFont?familyNames])? {? NSLog(@family:%@,fontfamilyname);? for(NSString?*fontName?in?[UIFont?fontNamesForFamilyName:fontfamilyname])? {? NSLog(@\tfont:%@,fontName);? }? NSLog(@-------------%d,i++);? }? 使用上面的代码即可遍历打印出所有的名称,然后从打印中复制名称到代码中个人感觉更为科学。 三、外界字体引入项目 本人亲测,在网上不管是windows字体,还是Android字体只要是ttf格式的,一般iOS程序都支持内嵌。 具体步骤也很简单: 1.将ttf文件拖入项目中 2.修改plist文件,加入Fonts provided by application 配置,后面填上拖进来的项目名 3.就可以在图形化界面看到新的字体选择了 4.如果不想从IB界面找,建议使用一下上面的遍历打印,可以用循环打印数量来最直接的看是否导入成功,并找到自己需要的内容。 5.运行项目得到自己想要的结果 四、动态字体 动态字体-Dynamic Type源于iOS7引入的一个文本渲染框架TextKit。主要的作用就是可以系统自设大小。当下的苹果已经做了越来越多的人性化的处理,甚至连盲人模式都有。对于字体的展示也是考虑到了各人的喜好,有的人喜欢看大字,有的人喜欢看小字。在动态字体出来之前,有的应用也考虑到了此用户体验,比如网易新闻以前就有能够在应用中设置偏好的字体大小功能。苹果也整合到了整个手机中,动态字体的思想就是:在setting中设置字体大小,不单单系统的字体会变,连应用程序中的字体大小也会随之改变。前提是你应用程序中的字体的代码写的符合要求。 前面的文章大部分说的都是要在字体中选custom,这时要考虑动态字体就有选 Text Styles中的选项了。 UIFontTextStyleHeadline? ? UIFontTextStyleBody? ? UIFontTextStyleSubheadline? ? UIFontTextStyleFootnote? ? UIFontTextStyleCaption1? ? UIFontTextStyleCaption2? 这些样式顾名思义,就不每个都列出显示效果了。标题,子标题,正文等等都是一些比较朴素。 我感觉这也就相当于word中的“样式”,把自己的每个章节的标题子标题选中设置成标题一或者标题二 然后就能用word的自动生成目录功能,并且一改某个样式里详细设置,每个标题子标题的格式也都会随之改变。 这里就是如果你在代码中把字体用这些样式,那你在

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档