iOS6适配iOS7

本文提供了一种iOS7状态栏(StatusBar)的官方标准适配方法,通过修改项目的Info.plist文件及AppDelegate.m文件来解决程序界面与状态栏重叠问题。文中详细介绍了如何调整代码布局以确保在iOS6和iOS7上的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IOS7状态栏StatusBar官方标准适配方法
http://blog.youkuaiyun.com/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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值