iOS iphone5屏幕适配 autosizing
转自:http://blog.sina.com.cn/s/blog_a843a8850101jxhh.html
iphone5出来了,从不用适配的我们也要像android一样适配不同分辨率的屏幕了。



原文:http://blog.csdn.net/linzhiji/article/details/8000048
今天apple发布ios6, 也许很快就能见到iphone 5的手机。不过现在只能从模拟器上来测试程序。
如何开发或者适配iphone5 4英寸的屏幕
1.安装xcode 4.5,选择Retina(4-inch)启动画面,
2. 添加启动图片, Default-568h@2x.png, 分辨率640 * 1136 pixels, 如果不增加会如下:

3.在编码时,尽量不要写死480,根据屏当前屏幕([UIScreen mainScreen].bounds)选择size能在分辨率改变时省去不少麻烦。
stackoverflow上代码,如何判断iphone 5
- #define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) <</span> DBL_EPSILON )
如果要兼任ipad
- <</span>p class="p1">#define IS_WIDESCREEN ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )<</span>span class="s1">568</</span>span> ) <</span> DBL_EPSILON )</</span>p><</span>p class="p1">#define IS_IPHONE ( [ [ [ UIDevice currentDevice ] model ] isEqualToString: @<</span>span class="s2">"iPhone"</</span>span> ] )</</span>p><</span>p class="p1">#define IS_IPHONE_SIMULATOR ( [ [ [ UIDevice currentDevice ] model ] isEqualToString: @<</span>span class="s2">"iPhone Simulator"</</span>span> ] )</</span>p><</span>p class="p1">#define IS_IPOD ( [ [ [ UIDevice currentDevice ] model ] isEqualToString: @<</span>span class="s2">"iPod touch"</</span>span> ] )</</span>p><</span>p class="p1">#define IS_IPHONE_5 ( ((IS_IPHONE) || (IS_IPHONE_SIMULATOR)) && IS_WIDESCREEN )</</span>p>
然后每个界面判断是否iphone5来慢慢的调整。这个有纯粹代码写ipad和iphone的universal版经验的,就能理解多一些。
4. (这个是其他地方拷贝来的) MainWindow.xib文件,在Simulated Metrics中设置window的size为Retina 4 Full Screen;再创建一个3.5寸的UIWindow用于原来的屏幕,同时在appDelegate中创建对应的成员。在app启动时将创建两个window,根据当前屏幕尺寸来决定用哪个window,将另一个隐藏。
或者launch app的时候手动创建window,而不要用工程建立时自动创建的MainWindow.xib。手动创建main window时注意修改相关默认生成的配置文件,否则若xib文件删除而app还尝试加载会导致闪退,删除plist文件中NSMainNibFile字段。
5.另外一篇文章:
http://blog.csdn.net/linzhiji/article/details/8000125
iOS iphone5屏幕适配 autosizing的更多相关文章
- 关于IOS的屏幕适配(iPhone)——资源适配
IOS的屏幕适配几乎不需要大量的代码操作,更多的时间我们只是动动鼠标选择一下就搞定.可以苹果在这方面做的还是比较人性的,解放了开发者. 首先来说说Iphone这几种屏(由于最近做的是iPhone AP ...
- 【iOS】屏幕适配之NSLayoutConstraint
前言 如何实现一张图片在iPhone和iPad上显示不同的尺寸,我了解到一般有三种办法:直接手写代码动态添加约束:把NSLayoutConstraint关联到ViewController里再viewD ...
- iOS开发——屏幕适配篇&Masonry详解
Masonry详解 前言 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-ip ...
- iOS - iPhone屏幕适配/启动图适配/APP图标适配(iPhone最全尺寸包含iPhoneX/XR/XS/XS Max等)
趁iPhone新品还没有发布,先整理一下屏幕适配.启动图适配.APP图标适配的笔记,方便以后查阅: 注:部分图片来源于网络 违删; (一)iPhone屏幕适配: (1)屏幕分辨率: ①设计尺寸规范(表 ...
- iOS开发——屏幕适配篇&autoResizing autoLayout和sizeClass
autoResizing autoLayout和sizeClass,VFL,Masonry详解 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前 ...
- ios中屏幕适配
- (void)viewDidLoad { [super viewDidLoad]; // 左上角 // 固定左边和上边,伸缩右边和下边 self.leftTop.autoresizingMask = ...
- 关于IOS的屏幕适配(iPhone)——Auto Layout和Size Classes
Auto Layout和Size Classes搭配使用极大的方便了开发者,具体如何使用Auto Layout和Size Classes大家可以参考其他文章或者书籍,这里只提一点,在我们设置Size ...
- iOS学习笔记24-不断进化的屏幕适配
一.屏幕适配 iOS的屏幕适配可以分为3大块,代表着不同时期的屏幕适配主流: AutoResizing:在iOS6之前,完全能够胜任,因为当时苹果只有3.5寸屏,加上比较少的支持横屏,它有非常大的局限 ...
- 屏幕适配-使用autoLayout
当遇见xib中无法删除的控件时. 将这个错误的控件拖离本xib(第一个元素.xib文件是有许多元素组成的集合),确保这个xib是正确的.重新创建一个xib文件,将这个正确的xib元素整个复制过去. 在 ...
随机推荐
- jQuery hover demo
先放效果图: 百度云下载地址:http://pan.baidu.com/s/1dDpn1Sl 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...
- FlatBuffers与protobuf性能比较
FlatBuffers发布时,顺便也公布了它的性能数据,具体数据请见Benchmark. 它的测试用例由以下数据构成"a set of about 10 objects containing ...
- ubuntu14.04修复启动项
自从安装了ubuntu14.04系统后(win7+ubuntu双系统),一直使用grub来引导win7和ubuntu,很长一段时间都使用的很好.突然前两天win7进不去了,无奈之下就用pe修复了win ...
- 对easyui datagrid组件的一个小改进
#对easyui datagrid组件的一个小改进 ##问题 在实际项目中使用datagrid时,受版面限制,有时候表格不能太大,这时候表格里面的内容就不能完全显示,用户需要经常拖动调整列宽才能看完整 ...
- 在mac上搭建python环境
原文出处:http://blog.justbilt.com/2014/07/02/setup_python_on_mac/ 这两天重新搞了下python的环境,发现好多地方还是容易忘记,因此有了这篇文 ...
- LightOJ 1112 Curious Robin Hood (单点更新+区间求和)
http://lightoj.com/volume_showproblem.php?problem=1112 题目大意: 1 i 将第i个数值输出,并将第i个值清0 2 i v ...
- Java基础String类
String是一个对象 String不属于8种基本数据类型(byte, char, short, int, float, long, double, boolean),String是对象,所以其默认值 ...
- 1016. 部分A+B (15)
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA.例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6. 现给定A.DA.B.DB,请编 ...
- VM VirtualBox 上安装 CentOs6.4(详细)
在网上下载:CentOS-6.4-i386-bin-DVD1.iso镜像. 这是我在VBox上安装CentOs6.4的过程: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12 ...
- weblogic日志小结
weblogic日志小结 http://blog.csdn.net/forest_hou/article/details/5468222