zoukankan      html  css  js  c++  java
  • 在iOS程序中使用自定义字体

    http://cocoa.venj.me/blog/custom-fonts-in-ios-apps/

    好久没有更新这里了,今天开始慢慢恢复更新。好了,废话不多说,开始讲正题。今天的话题其实也很简单,那就是在iOS中使用自定义字体。

    虽然iOS自带的字体通常已经足够我们使用了,但是,对于某些特殊程序来说,比如,电子书程序,可能需要用到一些特殊的字体,或者需要用更好看的字 体来达到我们想要的显示效果。不过,iOS是不支持系统级安装新字体的。不过在iOS 3.x中,我们已经可以用一个很简单的方法来使用自定义字体了。

    我们来创建一个简单的iOS项目来做演示。在界面上拖入一个UITextView,在代码中创建一个IBOutlet指向这个UITextView。我们从OSX中找一个iOS下没有的字体,比如:PTSans.ttc(这个也是Octopress模版的默认字体,我很喜欢这个字体),拖放到项目中。

    打开info.plist,增加一个新的Array类型的键,键名设置为UIAppFonts(Fonts provided by application),增加字体的文件名:“PTSans.ttc“。

    然后我们就可以在程序中调用这个字体了:

    1
    2
    3
    4
    5
    6
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // 在viewDidLoad方法中设置字体。
        self.tv.font = [UIFont fontWithName:@"PT Sans" size:20];
    }
    

    下面是在iOS模拟器中的显示效果:

    还不错吧。 :)

    最后提醒一点,在调用字体的时候,要使用字体名。字体名不是文件名,而是字体的Family Name。Family Name可以在Font Book中查看。

    本文的示例代码已经推送到Github上了。在编译示例代码前,请先复制PTSans.ttc到iPhoneCustomFont/iPhoneCustomFont目录下。

    加载中文字体时  如不知道 字体名 是什么  可以  在项目中输入 所有的字体名

            NSArray *familyNames = [UIFont familyNames];

            for( NSString *familyName in familyNames ){

                printf( "Family: %s \n", [familyName UTF8String] );

                NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];

                for( NSString *fontName in fontNames ){

                    printf( "\tFont: %s \n", [fontName UTF8String] );

                }

            }

    可以得到 下面类似的 内容 

    Family: 汉仪粗圆简 

    Font: HYe4gj 

    字体名 就是  HYe4gj

  • 相关阅读:
    charles 的 常用功能
    Python中 for循环和while循环的区别
    python元祖,列表和字典区别
    docker 笔记
    mac终端上传下载文件到linux服务器
    索引
    在HTTP1.0协议中持续更新
    彻底理解Cookie session token
    Charles 看这一篇就够了
    最近学习java 项目 eclipse 安装插件后重启出现错误
  • 原文地址:https://www.cnblogs.com/gaoxiao228/p/2576645.html
Copyright © 2011-2022 走看看