状态栏的隐藏与显示

来源:互联网 发布:回归问题解决 知乎 编辑:程序博客网 时间:2024/05/04 07:08

1.程序所有地方隐藏状态栏


方式一:

在项目全局设置内将

Deployment Info内找到 Hide during application launch字意选项,打钩

方式二:

AppDelegate.m


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    // 隐藏状态栏

    application.statusBarHidden = YES;

    return YES;

}

注意:

iOS7以后必须在info内增加View controller-based status bar appearance 并设置为YES



2.只在程序启动时隐藏


在项目全局设置内将

Deployment Info内找到 Hide during application launch字意选项,打钩

在回到

AppDelegate.m


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    // 隐藏状态栏

    application.statusBarHidden = NO;

    return YES;

}


3.状态栏变白色


方式一:

在项目全局设置内将

Deployment Info内找到status Bar Style 设置成Light

方式二:


1.启动画面修改为白色


info.plist中添加Status bar style 值为 Transparent black style (alpha of 0.5)

2.全部修改为白色(启动画面除外)


第一步:在Plist里面添加 UIViewControllerBasedStatusBarAppearance   设置为NO

第二步:在入口类中写:[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];


最近为IOS7升级app,遇到了状态栏被导航栏遮住的问题,这里说的是UINavigationBar,自定义的不用看了


绝大多数情况下,只要用下面这两句话就搞定了


self.navigationController.navigationBar.translucent = NO;


self.tabBarController.tabBar.translucent = NO;


注:有时会遇到状态栏一直是一片漆黑

意思就是UINavigationBar的高度会自行调整为44或者64,没有确定的预测方法。而之前作为UINavigationBar背景的图片是44高度的。最后换了张64高度,上面留了20px透明的图片搞定,若按上面的方式状态栏设为黑底的话20px设置为黑色就好了。

0 0