美文网首页
iOS自定义字体及失败的解决方案

iOS自定义字体及失败的解决方案

作者: 严兵胜 | 来源:发表于2017-09-15 09:27 被阅读0次
  1. 将字体源文件拖入工程,确保勾选了 Target 字体文件是以.tff 为后缀的字体文件


    Snip20171024_1.png

    一般我们的设计人员会给到这个文件 如果你想测试 也可以从 Mac获取到很多的字体文件 方法如下

Snip20171024_3.png Snip20171024_2.png
  1. 在 info.plist 中添加一个数组类型关键字 "Fonts provided by application",并将源文件的名字(加后缀)添加为一项。


    Snip20170915_3.png
  1. 使用 使用控制台输出的方式能够找到新添加的字体名字
    这里要特别注意的是 在控制台输出的字体名字 不一定和我们文件名字是一致的 但会有部分字节是相同的所以需要我们细心的查找一番 如笔者就是大小写发生了变化 有的时候变化是你想不到的 所以一定要用 真正捕捉到的 名称 否则会不成功的
Snip20171024_6.png
    for (NSString *familyNames in [UIFont familyNames]) {
        
        for (NSString *fontNames in [UIFont fontNamesForFamilyName:familyNames]) {
            
            NSLog(@"%@",fontNames);
        }
    }

  1. UIFont(name: "custom_font_name", size: 20)初始化字体
  • 当然笔者也发现了另外一个秘密
    笔者在 Demo 工程中测试,能够正确的显示新添加的字体。但是,按照该方法将字体加入项目工程,却没有效果了,familyFonts 的数量没有增加,经过一番折腾之后,发现用 UIAppFonts 替换 Fonts provided by application 作为 Key 就可以了。
    查阅了下文档发现 UIAppFonts 才是真正的 Key,“Fonts provided by application” 只是在 Xcode 中可读的一种形式。照理说第二种形式会自动转换为 UIAppFonts,如果不幸无效的话,就直接使用 UIAppFonts 吧。

  • 最后笔者送上 苹果自带的所有字体的效果 和他们的名字
    Font Family: American Typewriter( AmericanTypewriter,AmericanTypewriter-Bold)
    Font Family: AppleGothic(AppleGothic)
    Font Family: Arial(ArialMT,Arial-BoldMT,Arial-BoldItalicMT,Arial-ItalicMT)
    Font Family: Arial Rounded MT Bold(ArialRoundedMTBold)
    Font Family: Arial Unicode MS(ArialUnicodeMS)
    Font Family: Courier(Courier,Courier-BoldOblique,Courier-Oblique,Courier-Bold)
    Font Family: Courier New(CourierNewPS-BoldMT,CourierNewPS-ItalicMT,CourierNewPS-BoldItalicMT,CourierNewPSMT)
    Font Family: DB LCD Temp (DBLCDTempBlack)
    Font Family: Georgia( Georgia-Bold, Georgia,Georgia-BoldItalic,Georgia-Italic)
    Font Family: Helvetica(Helvetica-Oblique,Helvetica-BoldOblique,Helvetica,Helvetica-Bold) 默认字体
    Font Family: Helvetica Neue(HelveticaNeue,HelveticaNeue-Bold)
    Font Family: Hiragino Kaku Gothic **** W3(HiraKakuProN-W3)
    Font Family: Hiragino Kaku Gothic **** W6(HiraKakuProN-W6)
    Font Family: Marker Felt( MarkerFelt-Thin)
    Font Family: STHeiti J (STHeitiJ-Medium,STHeitiJ-Light)
    Font Family: STHeiti K( STHeitiK-Medium, STHeitiK-Light)
    Font Family: STHeiti SC(STHeitiSC-Medium, STHeitiSC-Light)
    Font Family: STHeiti TC(STHeitiTC-Light,STHeitiTC-Medium)
    Font Family: Times New Roman(TimesNewRomanPSMT,TimesNewRomanPS-BoldMT, TimesNewRomanPS-BoldItalicMT, TimesNewRomanPS-ItalicMT)
    Font Family: Trebuchet MS( TrebuchetMS-Italic,TrebuchetMS,Trebuchet-BoldItalic,TrebuchetMS-Bold)
    Font Family: Verdana( Verdana-Bold,Verdana-BoldItalic, Verdana,Verdana-Italic)
    Font Family: Zapfino( Zapfino)

相关文章

  • iOS自定义字体及失败的解决方案

    将字体源文件拖入工程,确保勾选了 Target 字体文件是以.tff 为后缀的字体文件Snip20171024_...

  • IOS和Andriod组件

    (本文内容及图片均从其他文章中摘取及整理) 1、Dynamic Type 动态字体,用户可以自定义字体大小(IOS...

  • 2019-11-13

    关于ios自定义字体加载无效,失败1.确认资源库字体与info.plist文件一致 2.确认Resources是否...

  • iOS在项目中使用自定义字体

    iOS 自定义字体是指,使用自己从外部导入的字体库使用在对应的文本显示中。 一般的iOS自定义的字体库是 .ttf...

  • 动态注册字体

    项目中如果只是使用几种固定的字体,可以本地添加自定义字体,可以参考iOS加入自定义字体库[https://www....

  • 自定义字体失败解决方案

    自定义字体的文章网上已经非常多,笔者按照正确的流程,遇到比较诡异的情况。流程是这样: 将字体源文件拖入工程,确保勾...

  • iOS App导入自定义字体

    原文iOS App导入自定义字体 需求 iOS项目中需要导入第三方字体,来进行显示字体样式。 实现方法 1 先找到...

  • iOS开发常用设置

    目录:[TOC]妈呀,怎么还不支持目录语法呢!!!@简叔 一、UI类 1、自定义字体使用   iOS自定义字体支持...

  • iOS在应用中添加自定义字体

    iOS在应用中添加自定义字体 一、在应用中添加自定义字体的步骤 1、网上提供的字体库有很多,下载完成后,将其导入工...

  • UI设计规范整理一iOS字体和切图及规范

    UI设计规范整理一iOS字体和切图及规范 UI设计规范整理一iOS字体和切图及规范

网友评论

      本文标题:iOS自定义字体及失败的解决方案

      本文链接:https://www.haomeiwen.com/subject/txqssxtx.html