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