美文网首页
气质程序媛养成记第五篇 -- 使用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