在ios7 布局中,Status Bar 和 ToolBar ,NavigateBar 等都包含在ViewControl的主View中。
这样原来ios6 的View布局 整体向上移动了20dp,下面是保证ios6,ios7代码一致的解决方案
1 第一步 在项目的Info.plist 文件中 添加一行属性配置
View controller-based status bar appearance =NO
这个设置为:View Controller 不对status Bar 显示进行操作
2 第二步 在AppDelegate.m 文件中,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
添加
class="brush:objc;gutter:false;">if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) { [application setStatusBarStyle:UIStatusBarStyleLightContent]; self.window.clipsToBounds =YES; self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20); //added on 19th Sep self.window.bounds = CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height); }
判断为Ios7 ,更新 window.frame