ios 字体的适配

2019-04-13  本文已影响0人  Pinkney

由于项目中设计喜欢使用非ios默认字体,例如:PingFangSC;为了效果需要做一些兼容;

拿PingFangSC举例,因为此字体是ios9.0才引入的;故在ios9.0以下是不支持的,设置的size就会不生效;

解决办法:(只记录我自己的解决办法,其实方法有很多)

1.建立UIFont的分类

#import

NS_ASSUME_NONNULL_BEGIN

@interfaceUIFont (Extension)

/**

 使用非系统默认字体设置请用此方法,会兼容系统没有的字体,例如:ios9.0以下没有PingFangSC字体

 @param fontName 字体名

 @param fontSize 字体大小

 @return 字体

 */

+(UIFont*)fontWithNameStr:(NSString*)fontName size:(CGFloat)fontSize;

@end

NS_ASSUME_NONNULL_END

2.类的实现:

#import "UIFont+Extension.h"

@implementationUIFont (Extension)

+(UIFont*)fontWithNameStr:(NSString*)fontName size:(CGFloat)fontSize

{

    UIFont*textFont =nil;

    if(fontName && fontName.length>0)

    {

        textFont = [UIFontfontWithName:fontNamesize:fontSize];

        if(textFont ==nil) {

            textFont = [UIFontsystemFontOfSize:fontSize];

        }

    }

    else

    {

        textFont = [UIFontsystemFontOfSize:fontSize];

    }

    returntextFont;

}

@end

3.使用场景

UILabel *titleLab = [[UILabel alloc] initWithFrame:CGRectZero];

    titleLab.text=@"测试文字";

    titleLab.textColor= [UIColor colorWithHex:0x4A4A49];

    titleLab.font = [UIFont fontWithNameStr:@"PingFangSC-Medium" size: 16.0];

    [self addSubview:titleLab];

上一篇 下一篇

猜你喜欢

热点阅读