zoukankan      html  css  js  c++  java
  • iOS中怎样加入自己定义的字体

          苹果对于开发,确实在细节方面下了非常大的功夫,只是不管一个平台下多大的功夫,仍然会有些需求是无法涵盖的。比方字体吧。

    我们的应用为了能更加个性化。会须要不同的字体。有时候有些字体是非常特殊的。甚至是购买的。那么这些字体怎样加到项目中去呢?

          字体有对应的字体文件。通常是以ttf或者otf为后缀,我们能够去一些第三方站点去下载(也有人专门做了字体出售),Google Fonts是个比較好的站点,能够去找找看。我们就用Open Sans这个字体来做样例吧。

    首先当然是去下载字体文件,下载后发现是10个ttf文件,没错,这是一个系列的字体,有粗体,有斜体。还有不同的大小,方便用户在不同的场景下使用。

          

              


          在准备好了字库文件后,就能够加到项目中了,是把ttf文件增加到项目中,这里须要注意的是要把这些ttf增加到bundle中。也就是说,最后的ipa文件里必须包括有这些ttf(否则应用中到哪里去找字库呢?)

          

          在增加后,我们能够分别在FileExplore和Build Phase里面看到这些内容,例如以下图所看到的:

          

          设置到这里还有最后一步。就是在info.plist文件里增加对应信息,这一步实际上实在项目的Info页里面增加Fonts provided by application项,并设置对应的ttf文件进去,这样就告诉了应用,我要增加新的字体了,对应的字体文件是哪些。

          

          到这里,字库文件应该是准备好了,以下我们须要确认一下字库的名字,由于代码中须要用名字来指定字体。通常来说。这个名字和文件名称是同样的,但也有不同的时候。所以这一步一定不要忽略。

          字库的名字这里是通过NSLog这个打印语句来获得,我们看一下代码:

          

        for (NSString *fontFamilyName in [UIFont familyNames]) {
            NSLog(@"--- %@ ---", fontFamilyName);
            for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
                NSLog(@"  %@", fontName);
            }
            
            NSLog(@"   ");
        }

          这段代码我们逐个读入字体族的名字,然后每一个族中读取每种字体的名字。

    从代码中我们能够知道。实际上我们打印了所有的字体。所有列出实在太长了,所以截了一部分列出来。我们的Open Sans也在当中。

          

          我们看一下,里面有些字体名字和文件名称同样,如OpenSans-Bold;有些字体名字和文件名称不同,如OpenSansLight-Italic。

    至此,准备工作最终所有完毕了。

          准备工作相当的繁琐,每一步都不能省,但以下正式使用就很easy了,我做了三个label,分别放入了三种字体,为了向大师致敬。都显示Hello World!的字样。

          代码是这种:

          

        self.label1.font = [UIFont fontWithName:@"OpenSans-Bold" size:20.0];
        self.label1.text = @"Hello World!";
        self.label2.font = [UIFont fontWithName:@"OpenSans-BoldITalic" size:20.0];
        self.label2.text = @"Hello World!";
        self.label3.font = [UIFont fontWithName:@"OpenSans-Light" size:20.0];
        self.label3.text = @"Hello World!";

          效果是这种:

          

          这样,我们就在应用中完美的增加了自己定义字库。应用会显得更加的个性化。让人眼前一亮,脱颖而出!


  • 相关阅读:
    Roce ofed 环境搭建与测试
    Ubuntu 1804 搭建NFS服务器
    Redhat 8.0.0 安装与网络配置
    Centos 8.1 安装与网络配置
    SUSE 15.1 系统安装
    VSpare ESXi 7.0 基本使用(模板、iso、SRIOV)
    VSpare ESXi 7.0 服务器安装
    open SUSE leap 15.1 安装图解
    KVM虚拟机网卡连接网桥
    GitHub Action一键部署配置,值得拥有
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5183820.html
Copyright © 2011-2022 走看看