ios7 兼容之前版本

来源:互联网 发布:淘宝店铺服务器出错 编辑:程序博客网 时间:2024/06/06 06:50
</pre><p><pre name="code" class="objc">//定义宏,判断ios7#define IOS7 [[[UIDevice currentDevice]systemVersion] floatValue] >= 7.0 //添加代码if (IOS7){    self.edgesForExtendedLayout = UIRectEdgeNone;               //视图控制器,四条边不指定    self.extendedLayoutIncludesOpaqueBars = NO;                 //不透明的操作栏<br>    self.modalPresentationCapturesStatusBarAppearance = NO;}

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000    if (IOS7)    {        self.edgesForExtendedLayout = UIRectEdgeNone;        self.extendedLayoutIncludesOpaqueBars = NO;        self.modalPresentationCapturesStatusBarAppearance = NO;//        self.automaticallyAdjustsScrollViewInsets = NO;//        self.navigationController.navigationBar.translucent = NO;//        self.tabBarController.tabBar.translucent = NO;    }#endif

self.automaticallyAdjustsScrollViewInsets = NO;
看这个UIViewController的这个属性你就明白了,此属性默认为YES,这样UIViewController下如果只有一个UIScollView或者其子类,那么会自动留出空白,让scollview滚动经过各种bar下面时能隐约看到内容。但是每个UIViewController只能有唯一一个UIScollView或者其子类,如果超过一个,需要将此属性设置为NO,自己去控制留白以及坐标问题。

 

http://blog.csdn.net/mac_cm/article/details/9234451,这个里面有一些属性介绍

#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(6401136), [[UIScreen mainScreen] currentMode].size) : NO)

这个是判断iphone5 or 4 

 

注意,目前我做的适配

如果之前使用了nib文件,同时ui不是自己手写代码add上去的,这里需要在代码里控制每一个ui了(如果你也中枪,那就跟我一样慢慢改吧,以后写代码尽可能手动)

如果是代码里画的ui,那么问题不大,做出响应调整即可。

 

当然如果你不需要兼容ios5.0,这样可以完全使用autolayout,这样可以使你的工作量降至最低

http://www.cnblogs.com/zcw-ios/articles/3340197.html


0 0
原创粉丝点击