iOS开发——屏幕尺寸适配
对于屏幕尺寸适配,目前先指竖屏的方式适合方式1和2。
1.控件尺寸写死的方式,偶尔会用到屏幕的宽度和高度。
UILabel *holdLabel = [[UILabel alloc]initWithFrame:CGRectMake(12, 42, 100, 20 )];
[[UIButton alloc] initWithFrame:CGRectMake(self.width - 65, 0, 80, 80)];
其中 self.width = [UIScreen mainScreen].bounds.size.width;
2.是在第一种的基础上乘上屏幕的宽高比
self.beginDate = [[UILabel alloc]initWithFrame:CGRectMake(12* ScreenWidthRate, 145* ScreenHeightRate,width/2 -12* ScreenWidthRate, 15* ScreenHeightRate)];
其中,ScreenWidthRate和ScreenHeightRate 是在pch文件里定义好的,如下: (比例根据UI图)
#define ScreenHeightRate ([[UIScreen mainScreen] bounds].size.height / 667.0) //6 plus 736 6s/6 667 5s 568
#define ScreenWidthRate ([UIScreen mainScreen].bounds.size.width / 375.0)
static inline float screenHeightRate() {
CGFloat width = [UIScreen mainScreen].bounds.size.height;
return width / 667.0;
}
static inline float screenWidthRate() {
CGFloat width = [UIScreen mainScreen].bounds.size.width;
return width / 375.0;
}
#endif
3.第三种的屏幕适配是采用目前流行的Masonry 自动布局
这个推荐使用,并单独一篇博客介绍。
适合复杂cell里的控件布局和横竖屏的适配。
iOS开发——屏幕尺寸适配的更多相关文章
- iOS 4s-6Plus屏幕自动适配及颜色转换为十六进制
iOS各种屏幕自动适配及颜色转换为十六进制 ★★★XLJMatchScreen自动适配屏幕★★★ 支持pod导入 pod 'XLJScreenMatching', '~> 1.0.3' 如果发现 ...
- iOS开发——屏幕适配篇&autoResizing autoLayout和sizeClass
autoResizing autoLayout和sizeClass,VFL,Masonry详解 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前 ...
- IOS开发之尺寸
在移动端或者前端开发中,UI图通常是带标注的,指定某个控件的长宽等属性,一般UI给的是68px,72px这样的样式,但是我们在开发过程中通常又并不是完全按照上面的标注去设置值,有时候需要将这个标注除以 ...
- ios设备屏幕尺寸与分辨率
iOS 设备的屏幕尺寸.分辨率及其屏幕边长比例详细情况是怎样的? 根据屏幕尺寸和分辨率,ios现在数起来有6个版本.一,3GS:二,4s为代表:三,iphone5:四,ipad2为代表:五,ipad4 ...
- android屏幕适配的全攻略--支持不同的屏幕尺寸适配平板和手机
一. 核心概念与单位详解 1. 什么是屏幕尺寸.屏幕分辨率.屏幕像素密度? 屏幕分辨率越大,手机越清晰 dpi就是dot per inch dot意思是点,就是每英寸上面的像素点数 android原始 ...
- iOS开发——屏幕适配篇&Masonry详解
Masonry详解 前言 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-ip ...
- Android屏幕尺寸适配注意事项
1 基本设置 1.1 AndroidManifest.xml设置 在中添加子元素 android:anyDensity="true"时,应用程序安装在不同密度的终端上时,程序会分别 ...
- iOS设备 屏幕尺寸、操作系统、摄像头像素、发行时间 汇总
设备 硬件尺寸 软件尺寸 精密程度 操作系统 摄像头像素 发行时间 iPhone 4s 640 x 960 320 x 480 2x iOS 5 800万 2011.10.04 iPhone 5 64 ...
- ios开发屏幕问题
1. 程序要要支持Iphone 和 ipad,所以首先必需创建一通用程序,这一操作只要在创建程序时在 devices那栏上勾选universal即可,完成后会发现有两个.xib文件,但只有一个view ...
随机推荐
- 转载 ASP.NET MVC中使用ASP.NET Identity
转载原地址: http://blog.jobbole.com/90695/ 在之前的文章中,我为大家介绍了OWIN和Katana,有了对它们的基本了解后,才能更好的去学习ASP.NET Identit ...
- wavecom短信猫常用AT命令
wavecom短信猫常用AT命令 一.一般命令 1. AT+CGMI 给出模块厂商的标识. 2. AT+CGMM 获得模块标识.这个命令用来得到支持的频带 (GSM 900,DCS 1800 或PCS ...
- 怎样在Java中实现基本数据类型与字符之间的转换
摘要:在我们对Java的学习当中数据类型之间的转换,是我们常见的事,我们也都知道基本数据类型之间有自动转换和强制转换,在int . short . long .float .double之间的转 ...
- cocos2d-x Animation
转自:http://codingnow.cn/cocos2d-x/810.html 这一篇来学习怎么使用cocos2d-x引擎播放帧动画,就是把一帧一帧的图片像电影那样显示出来.1. 首先来了解一下相 ...
- Linux HugePages及MySQL 大页配置
http://blog.csdn.net/dba_waterbin/article/details/9669929 ㈠ HugePages简介 HugePages是 ...
- php正则测试demo、动态函数
<?php error_reporting (E_ALL); ini_set ('display_errors', 'on');?><meta http-equiv="Co ...
- [C++知识点]2015.4.18
1.“static_cast/强制转换”后普通函数.虚函数的表现 A基类 B子类 实例aPtr:将B实例强制抓换得到的A实例 实例bPtr:将A实例强制转换得到的B实例 总结: (1) aPtr因为是 ...
- Hibernate中的"Repeated column in mapping for entity"异常
转:http://lijiejava.iteye.com/blog/786535 一对多双向关联(类Item与类Bid): Item类: public class Item { private int ...
- Swift基础语法-内存管理, 自动引用计数
1. 工作机制 Swift和OC一样,采用自动引用计数来管理内存 当有一个强引用指向某一个对象时,该对象的引用计数会自动+1 当该强引用消失时,引用计数会自动-1 当引用计数为0时,该对象会被销毁 2 ...
- 开启nginx缓存
proxy_cache_path和proxy_cache可以开启基础缓存 proxy_cache_path:缓存路径 proxy_cache:用来启用缓存