`
modabobo
  • 浏览: 508275 次
文章分类
社区版块
存档分类
最新评论

ios中使用自定义的字体

 
阅读更多

原始的系统字体,在挑剔的人面前,就显得应付不了.

这个时候参考了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];

}

}

}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics