关于ios7 statusBar适配,在这里总结下吧(转自cocoaChina)

本文介绍如何在iOS7与iOS6.1及更早版本间进行UI适配,通过Xcode中的Size Inspector调整增量实现统一布局。文中对比了不同方法,并提供了具体步骤。
 
ios7中,由于status bar不再占用单独的20px,如果app需要同时支持ios7和ios6.1以下,那就需要适配下了。

首先看,用xcode5新建project后,运行ios7效果:

图1.

运行在ios6.1以下效果图:

图2


为了达到ios7与ios6.1以下的UI统一,苹果官方给出的建议是:
(附: https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/SupportingEarlieriOS.html
(以demo中tableView的设置为例:)

第一步:不要勾选xib中的Use Autolayout。

图3



第二步:选择View as “ios6.1 and Earlier”

图4



第三步:在Size Inspector中,有一ios6/7 Deltas:分别表示在PosX的增量、PosY的增量、宽度增量、高度增量。

在“ios6.1 and Earlier”模式下,由于status bar的高度为20,所以当app运行在ios7.0模式下时,需要view向下移动20像素,因此在ΔY上设置为20.
tableView坐标向下移动了20,由于整个屏幕的高度是不变的,所以在“ios7.0 and Later”模式下,需要将tableView的高度减去20像素,即在“ios6.1 and Earlier”模式下,设置tableView的ΔHeight为 -20。如果不设置ΔHeight,tableView底部会有20像素是不可见的,可以测试demo看看。
***注***:Δ,正数表示增,负数表示减。

图5



第四步:ok,设置完成,运行到ios7.0看下效果:

图6



“ios6.1 and Earlier”和“ios7.0 and Later” UI布局便统一了。

PS:
另外:在网上传的方法,亲测过:

网传方法:

1.在appdeletage里面 添加如下代码:

     if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
        self.window.frame =  CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
     }

2.在info.plist文件里面 属性:View controller-based status bar appearance  值设为NO

测试结果:

图7

底部有20像素是滑不下去的(不可见的)。而且,觉得改变了window高度,可能其他地方还需要设置下,具体怎么设置,也没再看,大家有空研究讨论下吧。

再说一点,
- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}
- (BOOL)prefersStatusBarHidden
{
    return NO;
}


在plist中设置View controller-based status bar appearance  值设为YES..


这些的作用是:基于controller,动态控制statusbar的隐藏与样式。



PS:忘记发帖如何贴图了。。。
[ 此帖被下雨天、轮滑在2013-10-10 15:40重新编辑 ]

图片:图6.png 
图片:图5.png 
图片:图4.png 
图片:图2.png 
图片:图3.png 
图片:图7.png 
图片:图1.png 
附件:    TestStatusBarUsingXib.zip (214 K) 下载次数:93

【激光质量检测】利用丝杆与步进电机的组合装置带动光源的移动,完成对光源使用切片法测量其光束质量的目的研究(Matlab代码实现)内容概要:本文研究了利用丝杆与步进电机的组合装置带动光源移动,结合切片法实现对激光光源光束质量的精确测量方法,并提供了基于Matlab的代码实现方案。该系统通过机械装置精确控制光源位置,采集不同截面的光强分布数据,进而分析光束的聚焦特性、发散角、光斑尺寸等关键质量参数,适用于高精度光学检测场景。研究重点在于硬件控制与图像处理算法的协同设计,实现了自动化、高重复性的光束质量评估流程。; 适合人群:具备一定光学基础知识和Matlab编程能力的科研人员或工程技术人员,尤其适合从事激光应用、光电检测、精密仪器开发等相关领域的研究生及研发工程师。; 使用场景及目标:①实现对连续或脉冲激光器输出光束的质量评估;②为激光加工、医疗激光、通信激光等应用场景提供可靠的光束分析手段;③通过Matlab仿真与实际控制对接,验证切片法测量方案的有效性与精度。; 阅读建议:建议读者结合机械控制原理与光学测量理论同步理解文档内容,重点关注步进电机控制逻辑与切片数据处理算法的衔接部分,实际应用时需校准装置并优化采样间距以提高测量精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值