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

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

一、在应用中添加自定义字体的步骤

1、网上提供的字体库有很多,下载完成后,将其导入工程中,一般为ttf格式。

2、注意Build Phases中的Copy Bundle Resources中是否导入了文件:

3、在项目的info.plist文件中添加字体键值如下:

这个数组中可以添加多个元素,多个字体库。

4、这时实际上我们已经将字体添加进了工程中,但是在在使用这个字体时,字体的名字有时和文件名是不一样的,我们需要知道真实的字体名称,通常情况下,我们会讲所有字体名称打印出来:

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

5、找到我们需要的字体,如下使用即可:

 UIFont * font = [UIFont fontWithName:@"yuweij" size:14];

二、如何快速的找到新添加的字体名字

        如果你将所有字体都打印了出来,在其中找到新的字体名称是身份困难的,尤其是当这个字体的名称和文件名相差甚远的时候,这是一件非常痛苦的事情。

        为了在以后使用自定义字体的时候不必一次一次的经历这样的痛苦,在Xcode6.3的环境下,我将所有的系统字体获取后写入了plist文件,将这个plist文件导入项目中,通过如下方法,可以只打印出新增加的字体:

    NSString *paths=[[NSBundle mainBundle]pathForResource:@"font" ofType:@"plist"];
    //得到完整的文件名
    NSDictionary * rootDic = [NSDictionary dictionaryWithContentsOfFile:paths];
    //遍历当前所有字体
    for (NSString * name in [UIFont familyNames]) {
        NSArray * fontArray = [rootDic objectForKey:name];
        BOOL tip = NO;
        for (NSString * fo in [UIFont fontNamesForFamilyName:name]) {
            for (NSString * tmp in fontArray) {
                if ([tmp isEqualToString:fo]) {
                    tip=YES;
                    break;
                }
            }
            if (!tip) {
                NSLog(@"%@",fo);
            }
        }
    }

如果你也需要,字体集plist文件的地址:https://github.com/ZYHshao/YHBaseFoundationTest/tree/master/YHBase/BaseSouce

专注技术,热爱生活,交流技术,也做朋友。 ——珲少 QQ群:203317592

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xx_Cc的学习总结专栏

六天完成一个简单iOS App - 第六天

3015
来自专栏无所事事者爱嘲笑

h5软键盘挡住输入框问题解决(android)

在部分android机型上测试点击靠下的输入框时遇到弹出的软键盘挡住输入框问题,ios可自身弹起(ios自身的调整偶尔也会出问题,例如第三方键盘会遮挡,原因是第...

4701
来自专栏Objective-C

iOS-UIWebView加载HTMLString图片显示超过屏幕宽度,导致webView可以左右滑动处的理方法

3517
来自专栏张戈的专栏

分享一个多说头像的动态酷炫CSS样式

记得,之前看到 V 说分享了九种多说头像的酷炫样式,当时我选的是第八种,如下圆形旋转样式: ? (喜欢的可以去图中的 vsay 网址获取,我就不做搬运工了) 后...

4115
来自专栏Scott_Mr 个人专栏

React Native 系列(五) -- 组件间传值

36310
来自专栏前端说吧

JS-鼠标经过显示二级菜单

49010
来自专栏mukekeheart的iOS之旅

iOS项目——自定义UITabBar与布局

  在上一篇文章iOS项目——基本框架搭建中,我们详细说明了如何对TabBarItem的图片属性以及文字属性进行一些自定义配置。但是,很多时候,我们需要修改Ta...

4879
来自专栏一“技”之长

iOS系统菜单控制器UIMenuController使用简介

   在许多iOS应用中,当用户进行某文字或图片区域的长按操作时,都会弹出一个系统菜单控件,用户可以通过操作菜单控件上的按钮进行数据的复制、剪切、粘贴等操作。系...

1453
来自专栏编程之旅

自定义UISearchController的外观

以前我们在项目中使用搜索框的时候,如果用系统自带的控件则是使用UISearchDisplayController,而自从iOS8之后,系统重新给我们提供了一个搜...

1952
来自专栏LinXunFeng的专栏

iOS - 一行代码实现调用系统相机与相册,可配置导航栏背景与字体颜色

1375

扫码关注云+社区

领取腾讯云代金券