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

        }

    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值