SpriteBuilder中使用TrueType字体的一些障碍
2015-10-06 09:13
435 查看
在实践中,有一些小的陷阱和障碍可能阻止你使用一般的TrueType字体。
第一个,必须要有一个有效的字体文件。在Finder中双击该.ttf文件,应该会打开Font Book app,显示一个象形符号的字母表。如果没有显示或发生错误,则改字体很可能是损坏的或者不是正确的字体格式。
接下来你要考虑的是字体名不一定和该字体文件的名字一致。字体有3个名字:
字体文件的名字
字体族的名字(family name)
字体的名字
为了使用SpriteBuilder,字体名字和字体文件的名字(除去文件扩展)应该匹配,否则字体不会工作。
一旦你在SpriteBuilder中添加了一个TrueType字体然后发布,接着可以添加以下代码:
你可以在log输出中找到你新加入SpriteBuilder的TrueType字体名称,然后如有必要将该字体文件的名字改成和字体名称同名。然后重新导入该字体文件,并且更新所有label中该字体文件的名称。
注意:在SpriteBuilder中使用一般的TrueTypeitinerary不需要编辑Info.plist文件。如果你不通过SpriteBuilder而使用TrueType字体时,才需要这样做。
第一个,必须要有一个有效的字体文件。在Finder中双击该.ttf文件,应该会打开Font Book app,显示一个象形符号的字母表。如果没有显示或发生错误,则改字体很可能是损坏的或者不是正确的字体格式。
接下来你要考虑的是字体名不一定和该字体文件的名字一致。字体有3个名字:
字体文件的名字
字体族的名字(family name)
字体的名字
为了使用SpriteBuilder,字体名字和字体文件的名字(除去文件扩展)应该匹配,否则字体不会工作。
一旦你在SpriteBuilder中添加了一个TrueType字体然后发布,接着可以添加以下代码:
-(void)showAllFontNames{ for (NSString *family in [UIFont familyNames]) { NSLog(@"%@ (family)",family); for (NSString *name in [UIFont fontNamesForFamilyName:family]) { NSLog(@" %@ (name)",name); } } }
你可以在log输出中找到你新加入SpriteBuilder的TrueType字体名称,然后如有必要将该字体文件的名字改成和字体名称同名。然后重新导入该字体文件,并且更新所有label中该字体文件的名称。
注意:在SpriteBuilder中使用一般的TrueTypeitinerary不需要编辑Info.plist文件。如果你不通过SpriteBuilder而使用TrueType字体时,才需要这样做。
相关文章推荐
- 线段树 csu1555 Inversion Sequence
- 快速排序QuickSort
- iOS 使用UICollectionView实现瀑布流
- UI初级连载12-------------滑动视图
- 去掉UITableView的Cell选中状态
- hdu 5288 OO’s Sequence 枚举+二分
- 11.2.2 例题11-3 Buy or Build
- STL学习记录(五):Deque
- STL学习记录(十六):Queue、Priority Queue
- UVA_1594: Ducci Sequence
- UITableView的横向滑动
- stringBuffer 和 stringBUilder 的区别
- 黑马程序员—String、StringBuffer、StringBuilder
- 【RMQ问题】poj 3368 Frequent values
- iOS编程------集合视图UICollectionView
- UI 实现多线程方式之四 GCD之函数作为参数
- UI 实现多线程方式之四 GCD之自定义并行队列
- iOS大典之表视图UITableView
- iOS编程------UITableView中图片的异步下载 / KVO监测Model图片下载
- UI 实现多线程方式之四 GCD之自定义串行队列