iphone5出来了,从不用适配的我们也要像android一样适配不同分辨率的屏幕了。

 
公司产品新版本需要适配iphone5,经过一番折腾算是搞定了。下面分享给大家:
iphone5的屏幕分辨率:1136 x 640 也即是高度变成了568,程序启动时我们需要一张retina图片命名为Default-568h@2x.png。在我们创建工程时xcode会默认为我们创建一个纯黑色的图片替换即可。
最新版的xcode都已支持iphone5调试:选中模拟器---->设备---->iphone(Retina 4-inch),稍等片刻就可以切换到iphone5模拟器。
要适配iphone5需要将view的autosizing设置为如下状态:
当然还要确认选中另一项
这一项默认会选中的,意思是自动缩放子视图。
如果我们的view没有使用xib那我们可以使用代码设置这些属性:
[cpp] 
self.view.autoresizingMask = UIViewAutoresizingFlexib leLeftMargin | UIViewAutoresizingFlexib leTopMargin    
| UIViewAutoresizingFlexib leRightMargin |   UIViewAutoresizingFlexib leBottomMargin    
| UIViewAutoresizingFlexib leHeight | UIViewAutoresizingFlexib leWidth;  
self.view.autoresizingMask = UIViewAutoresizingFlexib leLeftMargin | UIViewAutoresizingFlexib leTopMargin 
| UIViewAutoresizingFlexib leRightMargin |   UIViewAutoresizingFlexib leBottomMargin  
| UIViewAutoresizingFlexib leHeight | UIViewAutoresizingFlexib leWidth;接下来设置子视图(比如button,image等):
对应代码:
[cpp] 
autoresizingMask = UIViewAutoresizingFlexib leLeftMargin | UIViewAutoresizingFlexib leTopMargin;  
.autoresizingMask = UIViewAutoresizingFlexib leLeftMargin | UIViewAutoresizingFlexib leTopMargin;
意思是将控件缩放时与父视图左边和顶部对应。可以根据具体需要设置子控件的autorizingMask相应值。
我们还可以通过代码手动改变iphone5下控件的大小或位置:
首先判定一下设备是否为iphone5:
[cpp] 
#define DEVICE_IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.height == 568)    
#define DEVICE_IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.height == 568) 接着我们可以在view初始化的时候改变frame:
[cpp] 
if (DEVICE_IS_IPHONE5) {  
      [botton setFrame:CGRectMake(0, 450, 320, 440)];  
}  
if (DEVICE_IS_IPHONE5) {
      [botton setFrame:CGRectMake(0, 450, 320, 440)];
}

原文: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

[html]  view plain copy
  1. #define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) <</span> DBL_EPSILON )

如果要兼任ipad

[html]  view plain copy
  1. <</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相关推荐

  1. 关于IOS的屏幕适配(iPhone)——资源适配

    IOS的屏幕适配几乎不需要大量的代码操作,更多的时间我们只是动动鼠标选择一下就搞定.可以苹果在这方面做的还是比较人性的,解放了开发者. 首先来说说Iphone这几种屏(由于最近做的是iPhone AP ...

  2. iOS 7、iOS 8屏幕适配

    在iOS 8中,[UIScreen bounds] .[UIScreen applicationFrame] .Status bar.Keyboard这些frame都是根据设备真实方向来返回frame ...

  3. ios 11 屏幕适配问题!

    随着Xcode GM版本发布,适配iOS 11也就提上了日程,总的来说整个适配过程(不包含适配iPhone X)不是很麻烦. 首先建议观看今年WWDC的一个视频 Updating Your App f ...

  4. iOS 开发屏幕适配尺寸

    2019独角兽企业重金招聘Python工程师标准>>> iPhone 4                   width  320                 height  4 ...

  5. 微信小程序屏幕适配不同的iPhone

    wx.getSystemInfo(Object object) | 微信开放文档 wx.getSystemInfo({success (res) {console.log(res.model)cons ...

  6. html5开发之ios屏幕适配,iOS开发屏幕尺寸以及屏幕适配等问题(转载内容)

    原帖地址:http://blog.csdn.net/phunxm/article/details/42174937/ 仅供我个人收藏学习,原博主如不同意请联系qq651263878进行删除,在此表示感 ...

  7. ios 代码设置控件宽高比_iOS基于代码按比例约束方法进行屏幕适配

    还记得刚刚开始学习iOS的开发的时候,简简单单的小控件练习,我总是习惯性的写死Frame,后来知道了屏幕适配,添加约束这样才能使UI更好的展示在屏幕上,Objective-C中的Masonry,Swi ...

  8. (转)iOS 屏幕适配

    参考 微信的多屏适配 目前为止,iPhone屏幕尺寸已经有四种: 3.5(inch):1/3G/3GS/4/4S 4.0(inch):5/5S/5C 4.7(inch):6 5.5(inch):6Pl ...

  9. ios 纯代码怎么适配ipad_iOS屏幕适配(纯代码)

    在iOS实际项目开发中, 我们经常要适配不同尺寸的屏幕,如iPhone4s,iPhone5/s,iPhone6/s,iPhone6Plus等. 在代码中创建一个控件如: UILabel *label ...

最新文章

  1. 面试官本拿求素数搞我,但被我优雅的“回击“了(素数筛)
  2. 爬虫开发10.scrapy框架之日志等级和请求传参
  3. JUnit 5 –下一代JUnit的初步了解
  4. Python之路【第五篇续】:面向对象编程二
  5. 天猫双11菜鸟物流绿色减碳1.8万吨 120万人参与快递箱回收
  6. 我爱人71年3月出生,档案招工表填成74年了,如何办理退休?
  7. c语言求一个数因数个数,【代码】求一个数的因数和、求优化、顺便也供新人参考算法...
  8. IL反汇编器(ILDASM)和IL汇编器(ILASM)Hello World小demo
  9. 正则表达式提取身份证号码
  10. 二级缓存j2cache和SpringBoot整合
  11. python中pandas的数据输出显示设置
  12. Android 监听Home键按键事件
  13. 通俗易懂看RB-tree(二)
  14. automotive industry is embracing change and agile transitioning
  15. YYKit Demo
  16. 艾默生流量计传感器的调整事项
  17. python库-networkx模块
  18. 【一起学习输入法】华宇拼音输入法开源版本解析(6)
  19. 1037:18岁生日
  20. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于框架的中医养生系统i9830

热门文章

  1. 作为婚纱摄影企业,是否有必要开发小程序?
  2. 2.57亿美元:纸币打破了ICO资金的全部记录
  3. 短视频寒冬,抖音、美拍、快手等将何去何从?
  4. 软件测试工程师的岗位职责
  5. 苹果新品发布会汇总:iphone13系列、ipad mini6,全新外观配色,加量减价
  6. 2008年,永动机启动第四次科技革命
  7. iMessage 群发
  8. matlab 画偏振态,MATLAB:绘制三维偏振光动画
  9. 从一幅图中了解开源世界
  10. 唯品会商品详情API接口(item_get-获得唯品会商品详情接口),唯品会详情API接口