博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 不同屏幕适配
阅读量:3729 次
发布时间:2019-05-22

本文共 1179 字,大约阅读时间需要 3 分钟。

文章目录

不同手机

前提条件:

设计师给出的效果图应以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要有两项配置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转载地址:http://yiwin.baihongyu.com/

你可能感兴趣的文章
SSM项目实战 —— 物流管理系统的实现
查看>>
响应式WEB设计 BootStrap入门及自适应
查看>>
BootStrap的简介与全局样式
查看>>
Vue.Js简介与数据渲染
查看>>
Vue.Js本地应用 -v系列指令 及部分简单案例的实现
查看>>
Axios 简介网络应用及不同城市天气查询案例实现
查看>>
Vuejs与Axios项目开发,简单的网页版的播放器实现
查看>>
json-server 搭建REST接口 和Axios方法简单测试
查看>>
NodeJs的安装与简介及文件的读取、写入、追加(FileSystem模块)
查看>>
Zookeeper启动报错 Starting zookeeper ... already running as process 5688.
查看>>
CenterOs7 安装MySQL数据库
查看>>
CenterOS的Hive环境的搭建日志及可能出现的问题和解决方法
查看>>
SSM 严重: 子容器启动失败Failed to start component [StandardEngine[Catalina].StandardHost[localhost]
查看>>
NodeJs的Http服务器的搭建
查看>>
NodeJs使用npm安装第三方模块与moment模块进行时间格式化
查看>>
NodeJs 服务端渲染 art-template 与 CommonJS 的模块规范
查看>>
Hive 数据库操作(HQL语法详解)
查看>>
Java Xml 操作之 dom4j 详解和实现一个xml存储的学生管理系统
查看>>
Java8 详解
查看>>
Postman 接口测试
查看>>