iOS 不同屏幕适配

不同手机

前提条件:

设计师给出的效果图应以iPhone6P(或8p)为基准。

什么时候使用这个宏?

所有控件的尺寸、x值y值,

cell的高度,文字的字体大小

如何使用这个宏?

在“Supporting Files”文件夹中的"PrefixHeader.pch"编写代码:

#define SYRealValue(value) ((value)/414.0f*[UIScreen mainScreen].bounds.size.width)

在设置值的时候敲SYRealValue(要设置的值)就好了。

这样以后在开发中凡是涉及到设置值的地方,都用这个宏,宏里填的值是以6P(或8p)为基准的值,即使跑在4和5上,也能按比例适配好,不需要我们操心了。

self.CloudRegistrationBtn.frame=CGRectMake(SYRealValue(self.CloudRegistrationBtn.frame.origin.x), SYRealValue(self.CloudRegistrationBtn.frame.origin.y), SYRealValue(self.CloudRegistrationBtn.frame.size.width), SYRealValue(self.CloudRegistrationBtn.frame.size.height));
    self.loginBtn.frame=CGRectMake(SYRealValue(self.loginBtn.frame.origin.x), SYRealValue(self.loginBtn.frame.origin.y), SYRealValue(self.loginBtn.frame.size.width), SYRealValue(self.loginBtn.frame.size.height));


在这里插入图片描述

不同手机和ipad

#define kISiPhone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define SYRealValue(value) kISiPhone==1?((value)/414.0f *[UIScreen mainScreen].bounds.size.width):((value)/768.0f *[UIScreen mainScreen].bounds.size.width)

准备两套xib
1.将 xib 文件名手动更改为 xxx~iphone.xib 和 xxx~ipad.xib

2.初始化时使用 [[xxx alloc] init] 即可,系统会自动判断系统类型并加载对应的 xib 文件
在这里插入图片描述
注意新建的xib要有两项配置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值