当前位置:首页 > 开发 > 移动开发 > 正文

iOS6适配iOS7

发表于: 2013-10-09   作者:chenyue1   来源:转载   浏览:
摘要: IOS7状态栏StatusBar官方标准适配方法http://blog.csdn.net/rhljiayou/article/details/12029927ios7程序界面与状态栏重叠问题解决方案 - (void) viewDidLayoutSubviews { CGRect viewBounds = self.view.bounds; CGFloat topBarOffs

IOS7状态栏StatusBar官方标准适配方法
http://blog.csdn.net/rhljiayou/article/details/12029927

ios7程序界面与状态栏重叠问题解决方案

- (void) viewDidLayoutSubviews {
    CGRect viewBounds = self.view.bounds;
    CGFloat topBarOffset = self.topLayoutGuide.length;
    viewBounds.origin.y = topBarOffset * -1;
    self.view.bounds = viewBounds;
}

 


(ios7) 解决代码布局View, ios7 中 subView 高度增加StatusBar20dp的问题,保证Ios6,ios7代码一致

在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

 
添加

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

 

iOS6适配iOS7

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号