ios7 兼容以前版本

1,首先ios

1
2
3
4
5
6
7
8
9
//定义宏,判断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,本身去控制留白以及坐标问题。iphone

 

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

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

这个是判断iphone5 or 4 spa

 

注意,目前我作的适配.net

若是以前使用了nib文件,同时ui不是本身手写代码add上去的,这里须要在代码里控制每个ui了(若是你也中枪,那就跟我同样慢慢改吧,之后写代码尽量手动)code

若是是代码里画的ui,那么问题不大,作出响应调整便可。blog

 

固然若是你不须要兼容ios5.0,这样能够彻底使用autolayout,这样可使你的工做量降至最低,若是有不一样方法欢迎你们来讨论ip

相关文章
相关标签/搜索