ios 自动缩小字体_iOS 字体自适应屏幕大小

在项目的开发中,其他控件不管在IB里边还是纯代码形式中都能很简单的做到自适应屏幕的大小,但往往会忽略掉字体大小的适应,我们的UI是以6sPlus屏幕为基准设计的页面,我前期只是做了控件的自适应,以为字体影响不大,后来在5s上一试,简直惨不忍睹。在网上找了好多方法,感觉都不好用,被逼无奈(人都是逼出来的)只能自己想一个办法了,没想到自己设计的方法简单好用(自认为,大神勿喷。。),好了,不说废话了,showTime!

先说一下思路。

一、先建一个UIVIewController的类目。(没错就是类目)

类目的.h文件

@interface UIViewController (baseMethod)//括号里边的是我取的类目名字

//自适应宽度的

- (CGFloat)autoScaleW:(CGFloat)w;

//自适应高度的

- (CGFloat)autoScaleH:(CGFloat)h;

@end

.m文件

#define kScreenWidth [UIScreen mainScreen].bounds.size.width

#define kScreenHeight [UIScreen mainScreen].bounds.size.height

@interface UIViewController ()

@end

@implementation UIViewController (baseMethod)

#pragma mark - ScaleSize

//说明一下我是以6sPlus为设计基准的,所以是除以414和736 的 ,你们以哪个屏幕大小设计的,就除以哪个屏幕的宽高。

//相信里边的计算公式都能看懂吧(不懂的转行吧。。。)

//想要字体的自适应用下边的任何一个方法都行

//其实不止的字体的适应,以前计算位置、大小的数子都可以用这个来转换(具体怎么用后边会说)

- (CGFloat)autoScaleW:(CGFloat)w{

return w * (kScreenWidth / 414.0f);

}

- (CGFloat)autoScaleH:(CGFloat)h{

return h * (kScreenHeight / 736.0f);

}

二、把类目的头文件导入.pch文件中,导入之后,所有的UIViewcontroller都可以用类目里边的方法了(别说不懂、不懂的可以查查。pch文件的作用和创建方法。非常好用!!)

//类目

#import "UIViewController+baseMethod.h"

#import "UITableViewCell+baseMethod.h"

#import "UIView+baseMethod.h"

上边有其他两个头文件是我创建的在UIView里边和cell里边用的。创建方法和我前面说过的UItableView的类目方法一样,里边的方法也一样,很简单的

三、具体用法了

cmLabel.font = [UIFont systemFontOfSize:autoScaleW(25)];

看到这里你们懂了没有。有什么问题可以找我讨论。(其实类目很强大的、很多方法都可以创建在类目里边。期待你的发现)

在之后的日子里、我会把我在开发中遇到问题和解决方法都整理出来、欢迎大家的讨论和提出意见!☺

谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值