您的位置:首页 > 移动开发 > IOS开发

ios中使用自定义的字体

2012-12-05 12:27 344 查看
原始的系统字体,在挑剔的人面前,就显得应付不了.

这个时候参考了sohu新闻中使用的字体,据说是微软雅黑.

下面是使用方法:

1.网上搜索字体文件(后缀名为.ttf,或.odf)

2.把字体库导入到工程的resouce中

3.在程序viewdidload中加载一下一段代码

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] );

}

}

4.假如你加入的字体为微软雅黑,这时可以在NSLog中看到MicrosoftYaHei

5. 然后在你的工程的Info.plist文件中新建一行(Add Row),添加key为:UIAppFonts,类型为Array或Dictionary都行;在UIAppFonts下再建立一个键值对,key 为:Item 0,添加Value为XXX.ttf(你字体的名字,string型),可以添加多个

6.在你的项目里要用字体的时候 xx.font = [UIFont fontWithName:@"MicrosoftYaHei" size:20.0],这样就可以了。

为了便于在应用统一替换,写了便利UILabel的方法:

这样是做是为了保证原始的字体大小不变化,直接更换字体为雅黑.

//使用自定义的雅黑字体
+ (UIFont *)fontYaHei:(CGFloat)fontSize
{
UIFont *font=[UIFont
fontWithName:@"MicrosoftYaHei"
size:fontSize];
return font;
}

//快捷函数
+ (void)changeLabelFont:(UILabel *)lb
{
CGFloat orgFontSize=lb.font.pointSize;
[lb setFont:[Tools
fontYaHei:orgFontSize]];
}

//替换当前视图下,所有子视图为lb的字体为雅黑
+ (void)changeAllLabelFontInView:(UIView *)view
{
for (UIView *subview
in view.subviews) {
if ([subview isKindOfClass:[UILabel
class]]) {
[Tools changeLabelFont:(UILabel *)subview];
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: