在iOS程序中使用自定义字体
2012-07-04 18:24
489 查看
http://cocoa.venj.me/blog/custom-fonts-in-ios-apps/
好久没有更新这里了,今天开始慢慢恢复更新。好了,废话不多说,开始讲正题。今天的话题其实也很简单,那就是在iOS中使用自定义字体。
虽然iOS自带的字体通常已经足够我们使用了,但是,对于某些特殊程序来说,比如,电子书程序,可能需要用到一些特殊的字体,或者需要用更好看的字 体来达到我们想要的显示效果。不过,iOS是不支持系统级安装新字体的。不过在iOS 3.x中,我们已经可以用一个很简单的方法来使用自定义字体了。
我们来创建一个简单的iOS项目来做演示。在界面上拖入一个
打开info.plist,增加一个新的Array类型的键,键名设置为UIAppFonts(Fonts provided by application),增加字体的文件名:“PTSans.ttc“。
然后我们就可以在程序中调用这个字体了:
下面是在iOS模拟器中的显示效果:
还不错吧。 :)
最后提醒一点,在调用字体的时候,要使用字体名。字体名不是文件名,而是字体的Family Name。Family Name可以在Font Book中查看。
本文的示例代码已经推送到Github上了。在编译示例代码前,请先复制PTSans.ttc到
加载中文字体时 如不知道 字体名 是什么 可以 在项目中输入 所有的字体名
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
字体名 就是 [b]HYe4gj[/b]
好久没有更新这里了,今天开始慢慢恢复更新。好了,废话不多说,开始讲正题。今天的话题其实也很简单,那就是在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]; } |
还不错吧。 :)
最后提醒一点,在调用字体的时候,要使用字体名。字体名不是文件名,而是字体的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
字体名 就是 [b]HYe4gj[/b]
相关文章推荐
- IOS(xcode)程序中使用自定义字体的方法
- IOS(xcode)程序中使用自定义字体的方法
- iOS中使用自定义字体
- 在iOS开发中使用自定义字体
- ios 使用自定义字体
- iOS使用自定义字体
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(三·完结) - 文顶顶
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(三·完结)
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(二)
- ios开发中使用自定义字体
- iOS 【使用自定义字体-苹方字体】
- iOS使用自定义字体
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(一)
- iOS使用自定义字体
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(一)
- 【iOS开发】使用自定义 '.ttf ' 字体
- iOS 使用自定义字体
- 在iOS开发中使用自定义字体
- iOS上使用自定义ttf字体
- iOS开发:使用Settings Bundle为程序添加自定义设置项