iPhone 6 & iPhone 6 Plus适配
转载请注明出处:
http://www.cnblogs.com/dokaygang128/p/4049461.html
Apple 今年发布了两款新的iPhone机器,iPhone 6 和iPhone 6 plus :


其中第二幅图是当前主要设备的分辨率情况。这里简单介绍一下这张图。
首先,第一行Point是我们在工程中Controller的ViewWillAppear方法中打印Controller的View时得到frame的Size;
第二行是实际系统生成的显示APP位图时的分辨率;
第三行主要是Plus由于实际的物理分辨率并没有生成的APP位图的分辨率这么大,只有1920*1080,所以显示时有个图片的缩小;
第四行是没英寸像素点个数,代表屏的清晰度;
看到这么多的分辨率,大致也知道我们developer 需要做些适配工作。
适配的方式:
适配的话主要分为两种方式:自动适配和手工适配(完美适配)
我们的旧工程用Xcode 6 打开时默认即是自动适配。在真机上运行APP后会发现显示有些糊,并且和系统的某些APP对比发现navigationbar是变高的。这个主要是因为自动适配系统是将旧Frame大小的位图直接放大进行显示的,不信你打印一下frame看看,宽度还是万年不变的320.
想要打开手动适配模式,有两种方式可供选择:
1.使用大的LaunchImage,原来@2x的1.5倍图像。貌似Xcode6强制使用Asset Catalog。
2.使用一个Launch Xib作为启动画面。
经典适配步骤:
1.有Nib文件的,首先检查Xib文件中各个View的Autoresizing是否正确,主要是宽度进行自适应与右边距。优先设置Controller的
2.检查.m文件中是否有不合理的硬编码320(或者基于320进行计算的)宽度;有的话用View.Width进行替换;
3.检查.m中初始化的View,其Autoresizing是否正确。
杂项:
1.有些高度的计算是硬编码的,只考虑了480和568.
2.有些时候Autoresizing计算宽度实在是不好用了,可以在layoutSubviews或ViewWillAppear中修改;
3.必要时手动调整frame;
4.注意时序问题;
iPhone 6 & iPhone 6 Plus适配的更多相关文章
- [转]在cocos2d-x中让一个项目适配iphone、iphone retina、ipad、ipad retina四种分辨率
http://cankeyyin.blog.163.com/blog/static/12336178320124149391202/ 原理:将iphone的hd图片给ipad用,即: 使用原iphon ...
- iPhone 6/iPhone 6 Plus硬件性能
iPhone 6/iPhone 6 Plus硬件性能 评分 4 分 正 如之前传闻的,这次同时发布了两款iPhone产品,分别是4.7英寸的iPhone 6和5.5英寸的iPhone 6 Plus.苹 ...
- iOS屏幕适配 支持新手机 iPhone XR iPhone XS 超简单
随着苹果爸爸发布了 超牛叉的iPhone iPhone X .iPhone XR.iPhone XS .iPhone XS Max.开发者的适配工作要开始了. 停,
- 小程序 iphone X 吸底按钮适配
问题图: 解决方法: // app.js App({ isIphoneX() { let isIphoneX = false wx.getSystemInfo({ su ...
- 48 (OC)* 适配iPad和iPhone、以及横竖屏适配。
一:核心方法 1.三个方法 1.1:开始就会触发 - (void)viewWillLayoutSubviews; 1.2:开始就会触发 - (void)viewDidLayoutSubviews; 1 ...
- Making the iPhone vibrate (iPhone 振动)
from: http://stackoverflow.com/a/4725039 There are two seemingly similar functions that take a param ...
- iPhone: 在 iPhone app 里使用 UIPopoverController
更新:iOS8 版本已经不可用 为 UIPopoverController 增加类别,如下: //NSObject+UIPopover_Iphone.h #import <Foundation/ ...
- ipad和iphone的适配
关于xib或者storybord下iphone的横竖屏的适配以及ipad的适配 ios8出现了Size Classes,解决了各种屏幕适配的问题,他把屏幕的宽和高分别分成了三种,把屏幕总共分成了九种情 ...
- 大屏iPhone的适配 +iOS 图片尺寸要求
摘自:http://blog.ibireme.com/2014/09/16/adapted_to_iphone6/ 苹果公司官网设计介绍到:Retina显示屏的超高像素密度已超过人眼能分辨的范围.Re ...
随机推荐
- MVC自定义错误页404静态页
昨天公司要求给所有项目添加自定义404错误页,具体的要求实现的有以下几点: 1.实现自定义错误(如各种error,404等)跳转到指定的页面 2.所指定的页面输出的http状态值必须是404或其他指定 ...
- mysql 存储过程详解 存储过程
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成 ...
- HTTP状态码参考
1. HTTP状态码意义 客户机与服务器建立连接后,发送一个请求给服务器(如:Get /index.html http/1.1),在服务器接到请求后,给予客户机相应的响应信息,包括该信息的协议版本号. ...
- jQuery骨架
jQuery选择器 jQuery操作DOM jQuery中的事件与应用 jQuery的动画与特效 Ajax在jQuery中的应用 jQuery常用插件 jQuery UI插件 jQuery实用工具函数 ...
- 从零开始搭建TestCpp工程
目标: 创建一个测试工程,测试工程以列表的方式展示,没一个列表项对应一个场景 1. 创建cocos2d-x工程 现在采用脚本的方式来创建,好处是一次可以创建N个项目的工程. 首先 ...
- 在项目中 background transiton 带来的"便利"与“坑”
本文就两个例子跟大家分享一下background-image与background-size的渐变(transition)所带来的方便与“深坑” 首选,说说这东西好的地方,有时候在做PC项目的时候,可 ...
- C#中Split函数的使用
Split函数 描述 :返回一个下标从零开始的一维数组,它包含指定数目的子字符串. 语法 :Split(expression[, delimiter[, count[, compare]] ...
- Hadoop上路-04_HBase0.98.0入门
以下操作在Hadoop分布式集群基础上进行. 一.分布式环境搭建 下载:)验证 3)修改%HBASE%/conf/hbase-env.sh 4)修改$HBASE_HOME/conf/hbase-sit ...
- Jquery显示和隐藏的4种简单方法
Html代码: <div class="topicList"> <h3><span>学习天地</span></h3> ...
- Delphi XE5教程12:注释和编译器指示字
内容源自Delphi XE5 UPDATE 2官方帮助<Delphi Reference>,本人水平有限,欢迎各位高人修正相关错误!也欢迎各位加入到Delphi学习资料汉化中来,有兴趣者可 ...