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