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

相關文章
相關標籤/搜索