iOS-使用添加的花样字体
项目需求中, 有时候有些金额利率等这些不用系统默认字体展现, 而需要着重突出展示!
一、项目截图及效果截图
项目压缩截图

效果截图

二、主要思路
- 将字体库添加到项目中
- 在info.plist中添加所需新字体, 同时也在target-->Build Phases-->Copy Bundle Resources中将info.plist中添加的字体添加上(确保能找到资源)
- 找到真实可用的fontName, 代码中使用fontWithName: size: .
三、程序实现
Step1. 将字体库添加到项目中
字体库截图如下, 可以根据自己需要的哪些字体添加到项目中.

Step2. 在info.plist中添加所需新字体.
这里我用一个UniversLTStd-UltraCn.otf文件做测试:

确保能找到资源, 检查下在target-->Build Phases-->Copy Bundle Resources中将info.plist中是否添加上所需字体.

Step3. 找到真实可用的fontName
要先找到fontName 就需要先找到familyName, 而familyName是通过我们字体库的文件去找到: 双击字体库打开,系统会默认使用字体册进行打开。这时候状态栏上面显示的是真实的familyName。如下图所示:

有了familyName, 则相对应找到fontName就好! 通过上面的循环打印结果,在控制台搜索出相对应的结果即可.
/*
* 取出花样字体的fontName
*
* // familyName : Univers LT Std
* // fontName : UniversLTStd-UltraCn
* // 实际中我们使用的应该是fontName,也就是“UniversLTStd-UltraCn”
*/
- (void)testFontName {
for (NSString *familyName in [UIFont familyNames]) {
NSLog(@"familyName:%@", familyName);
for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
NSLog(@"fontName:%@", fontName);
}
NSLog(@"=====");
}
}
控制台截图如下:

项目中在所需位置使用fontWithName: size:
label.font = [UIFont fontWithName:@"UniversLTStd-UltraCn" size:20];
四、其他补充
可替换使用自己所需的字体, 字体库包含中Demo中.
具体可参考代码, 项目则能够直接运行!
iOS-使用添加的花样字体
注:本文著作权归作者,由demo大师代发,拒绝转载,转载需要作者授权
iOS-使用添加的花样字体的更多相关文章
- iOS开发中涉及的字体问题
iOS中常见3种方法来控制字体,下面根据我在网上学习总结的内容发布(已完美避过所有坑,iOS8.4) 一.系统默认的设置字体方法(只对英文和数字生效的方法) 1.系统默认提供的字体主要是指UIFont ...
- iOS学习——iOS项目增加新的字体
基本思路 在项目开发过程中,iOS系统自带的字体库可能不适应需求,需要导入其他的字体库.下面是iOS项目增加新的字体的基本思路,基本上分为三步: 将字体库添加到项目中 在info.plist中添加所需 ...
- DKNightVersion 的实现 --- 如何为 iOS 应用添加夜间模式
在很多重阅读或者需要在夜间观看的软件其实都会把夜间模式当做一个 App 所需要具备的特性. 而如何在不改变原有的架构, 甚至不改变原有的代码的基础上, 就能为应用优雅地添加夜间模式就成为一个在很多应用 ...
- SpriteBuilder添加的TrueType字体未显示在log中的原因分析
按照书上的说法,在SpriteBuilder中添加的TrueType字体名称会在枚举字体方法显示的log中出现.但是运行程序后没有在log中发现对应的字体名称. 因为该字体是例子中作者制作的,所以字体 ...
- Xamarin SQLite教程Xamarin.iOS项目添加引用
Xamarin SQLite教程Xamarin.iOS项目添加引用 使用直接方式访问SQLite数据库,需要将System.Data和Mono.Data.SQlite库导入到创建的项目中.下面将分别讲 ...
- iOS mac添加证书 不能修改“System Roots”钥匙串错误
iOS mac添加证书 不能修改“System Roots”钥匙串错误 如图: 解决方式: 打开钥匙串---登录---,直接把证书拖过来 然后,查看--我的证书,里面,找到证书,即可
- iOS Category 添加属性实现原理 - 关联对象
iOS Category 添加属性实现原理 - 关联对象 RunTime为Category动态关联对象 使用RunTime给系统的类添加属性,首先需要了解对象与属性的关系.对象一开始初始化的时候其属性 ...
- 安卓&IOS 手机添加O365 邮箱账户
手机添加O365 邮件账户 一.Android手机添加O365邮件账户 1. 找到手机上“电子邮件” 2. 打开设置 3. 点击添加账户 4. 选择“Exchange” 5. 输入O365的邮箱账户和 ...
- ios开发--给应用添加新的字体的方法
1.网上搜索字体文件(后缀名为.ttf,或.odf) 2.把字体库导入到工程的resouce中 3.在程序添加以下代码 输出所有字体 NSArray *familyNames = [UIFont fa ...
随机推荐
- [Codeforces-div.1 55D] Beautiful numbers
[Codeforces-div.1 55D] Beautiful numbers 试题分析 还是离散化...\(f_{i,j,k}\)表示i位,gcd为j,余数为k. #include<iost ...
- 【容斥原理】【分解质因数】poj1091 跳蚤
题意转化为求一个线性组合a1*x1+a2*x2+...+an*xn+m*xn+1=1在什么时候可以有解.(ai在1~m的范围内任取) 易得当且仅当gcd(a1,a2,...,an)=1时可能有解. 然 ...
- 83.(01背包)CYD刷题
3130 CYD刷题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 下午,CYD要刷题了,已知CY ...
- ie8以下浏览器注意事项
ie8以下ajax请求或者socket请求时一定要加二级域名:(目的不能垮域访问)
- js 根据开始日期和结束日期显示倒计时
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Con ...
- C语言读书笔记
1.c语言中一共有32个关键字,分别是: auto.int.double.long.char.short.float.unsigned.signed.sizeof.extern. static.got ...
- HDU 1845 Jimmy’s Assignment(二分匹配)
Jimmy’s Assignment Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Other ...
- Index column size too large. The maximum column size is 767 bytes.
mysql建表时报Index column size too large. The maximum column size is 767 bytes.解决办法:在建表语句的后面加入:ENGINE=In ...
- Oracle Form删除list项
Oracle From中的list项点击后就会新增一个下拉列,此时可以使用 Ctrl+shift+< 进行删除
- Android疑难杂症之KillProcess 和System.exit 无效
以下所讲,浓缩在 https://github.com/wytings/CrashDemo 首先就这个名字来说,kill了process 或者 system.exit确实已经把APP杀掉了,特别是当你 ...