iOS6,7 隐藏状态栏

一、iOS6隐藏状态栏

       在iOS6下隐藏状态栏可以这样做:

1.在didFinishLaunching代理方法里隐藏:

  [application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];

2.在程序中使用

 [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];

以上两种方法能够实现隐藏,但是美中不足!因为程序启动后会显示状态栏,然后再隐藏,会有一个一闪而过的效果!

可以使用下面这种方法:

3.修改xxx-Info.plist

    在根结点Infomation Property List下面新加一项“Status bar isinitiallyhidden”(不用手动输入,可以直接在下拉菜单中选取)。这是个BOOL类型的键值,设为YES即可;这样当需要是使用第二种方法让其显示即可!

    不过这些方法在iOS7显得很无力!因为SDK有所变化:

// Setting statusBarHidden does nothing if your application is using the default UIViewController-based status bar system.

所以要适配iOS7,可以采用下面的方法


二、隐藏iOS7状态栏

1.修改xxx-Info.plist

   在根结点Infomation Property List下面新加一项View controller-based status bar appearance” 设置为NO;然后继续使用iOS6的隐藏方法;


2.不修改plist,在你的Viewcontroller里重写两个方法

    这两个方法是iOS7才使用的,虽然iOS不调用,但是也不会造成什么影响;


- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleDefault;
}

- (BOOL)prefersStatusBarHidden
{
    return YES;
}

在某种情况下想改变状态,只需调用这个方法即可刷新:

[self setNeedsStatusBarAppearanceUpdate];  

不过你要注意,只有在iOS7下才可以调用!

三、总结

    感觉使用第一种方法适配iOS7比较省事些!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值