美文网首页
气质程序媛养成记第五篇 -- 使用runtime进行字体大小适配

气质程序媛养成记第五篇 -- 使用runtime进行字体大小适配

作者: 爱打码滴小燕子 | 来源:发表于2017-04-10 15:45 被阅读20次

项目开发过程中,根据UI给定的字体和屏幕尺寸进行比例适配是最基本的要求。其实很简单,一个分类就可以搞定了。

首先,创建一个UIFont的分类

1.写一个类方法,通过当前屏幕尺寸适配文字大小,此处YourUIScreen为UIUI设计原型图的手机尺寸宽度

+(UIFont *)adjustFont:(CGFloat)fontSize{
    UIFont *newFont=nil;
    newFont = [UIFont adjustFont:fontSize * [UIScreen mainScreen].bounds.size.width/YourUIScreen];
    return newFont;
}

2.runtime最常用的一个功能就是拦截系统方法,进行方法替换,在这里我们用到的就是这一特性。
在UIFont的Load方法里,找到需要替换的系统方法,用我们自己的方法来替换,代码如下:

    //获取替换后的类方法
    Method newMethod = class_getClassMethod([self class], @selector(adjustFont:));
    //获取替换前的类方法
    Method method = class_getClassMethod([self class], @selector(systemFontOfSize:));
    //然后交换类方法
    method_exchangeImplementations(newMethod, method);

此致,敬礼,收工~

相关文章

网友评论

      本文标题:气质程序媛养成记第五篇 -- 使用runtime进行字体大小适配

      本文链接:https://www.haomeiwen.com/subject/nmwsattx.html