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元素整个复制过去. 在 ...
随机推荐
- web前端笔试题
1, 判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母.数字.下划线,总长度为5-20 var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/; reg.test ...
- 20151227感知机(perceptron)
1 感知机 1.1 感知机定义 感知机是一个二分类的线性分类模型,其生成一个分离超平面将实例的特征向量,输出为+1,-1.导入基于误分类的损失函数,利用梯度下降法对损失函数极小化,从而求得此超平面,该 ...
- URAL-1991 The battle near the swamp 水题
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1991 水题.. //STATUS:C++_AC_15MS_333KB #include ...
- 杭电ACM减花布条
这是原题的地址 http://acm.hdu.edu.cn/showproblem.php?pid=2087 Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条 ...
- pyqt中QDateTimeEdit/QDateEdit相关使用方法
QDateTimeEdit/QDateEdit clear (self)QDate date (self)QDateTime dateTime (self)setDate (self, QDate d ...
- iOS 中UIButton的 settitle 和 titlelabel的使用误区
UIButton中设置Titl方法包括以下几种: - (void)setTitle:(NSString *)title forState:(UIControlState)state; - (void) ...
- ACM之递推递归
Hdu 2569 突破蝙蝠的包围,yifenfei来到一处悬崖面前,悬崖彼岸就是前进的方向,好在现在的yifenfei已经学过御剑术,可御剑轻松飞过悬崖. 现在的问题是:悬崖中间飞着很多红,黄,蓝三种 ...
- mongo常用命令
1.由于mongo没有关系型数据库常用,一些基础的命令容易忘记 db.table.update( { "_id" : xxx } , { $set : { "field1 ...
- CentOS7 安装 MySQL 5.7.10
卸载冲突的rpm包:rpm -qa|grep mariadbrpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64 安装:rmp -ivh mysql-c ...
- [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝
一般连接sql数据库,IP_connstr="driver={SQL Server}; server=127.0.0.1;database=数据库名字;uid=sa;pwd=密码" ...