[置顶] 【IOS】IOS7 UI适配

   昨天下了把手机升级成了IOS7 正式版,然后下了最新的xocde5.  试着编译了一下刚刚完成的几个应用,还好问题不大,半个小时的时间都适配好了,然后改了下几个新出现的warning。过几天等空了,要把IOS7的更新的特性好好看一下 http://www.cocoachina.com/newbie/basic/,记录一下。

Xcode5 正式版的下载地址:http://adcdownload.apple.com/Developer_Tools/xcode_5/xcode_5.dmg    建议用迅雷下,速度还是挺快的。

总结一下不一定是最好的方法,纯粹是省时间的方法,不至于在ios7的设备上看上去错位,想要充分符合ios7的风格,还是要在设计上做出一定的改变的):

(1)如果应用程序始终隐藏 status bar 那么恭喜呢,你在UI上需要的改动很少很少。

(2)如果应用程序显示status bar,可以讲status bar设置成黑色不透明 ,然后在UIViewController 中加入下面的判断,

#define IOS7_OR_LATER	( [[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending )

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000
        if ( IOS7_OR_LATER )
        {
            self.edgesForExtendedLayout = UIRectEdgeNone;
            self.extendedLayoutIncludesOpaqueBars = NO;
            self.modalPresentationCapturesStatusBarAppearance = NO;
        }
#endif	// #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000

(3)如果勾选了Hide during application lauch 的话,在IOS7 的设备上,是没有问题的,

   启动完以后status bar 会重新出现的,但是在IOS7 一下的设备,需要在launch didfinish 里面把status bar 显示出来。


(4)可以通过设置view的背景颜色来改变 status bar 的颜色来搭配你的nav 条。

   (5)  有些地方肯能要对版本进行判断,分别做不同的处理。

   (6)  可以用旧版的sdk来编译,这样在真机上还是和原来一样的效果。具体的方法可以参考:http://github.kimziv.com/blog/2013/09/22/how-to-use-older-base-sdks-in-xcode5/


你可能感兴趣的:([置顶] 【IOS】IOS7 UI适配)