iOS状态栏(UIStatusBar)的设置

 

UIStatusBar就是应用最上方显示电池和时间信息的状态栏,宽度与屏幕宽度相等,高度为20.对它的显示控制分两种情况,一种是程序启动时,另一种是程序运行的时候。

1.程序启动时。

  • 在Info.plist 中将Status bar is initially hidden(UIStatusBarHidden)对应的Value设置为Yes,程序启动时会隐藏,反之会显示。如果要更改它的字体颜色,在Info中将Status bar style(UIStatusBarStyle)对应的Value设置为你想要的类型(UIStatusBarStyeLightContent。)。

2.程序运行时

  • 同样是分两种情况,称它为效果A和B吧,A是你所有视图控制器的状态栏的显示与否都是可以控制的,但样式是不可控制的(所有视图控制器的状态栏都是一个样式)。B是你可以控制每个状态栏的显示和样式。在info.plist文件中添加一个key值:View controller-based status bar appearance,这个key的意思就是是否让每个控制器单独控制自己的状态栏。
  • 如果想要A效果效果,将View controller-based status bar appearance值设置为NO,然后在视图控制器中加入如下代码来控制显示与否。

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

  • 实现B效果需要将View controller-based status bar appearance值设置为YES,然后在需要控制状态栏显示的视图控制器中重写如下方法:

    //是否显示状态栏
    -(BOOL)prefersStatusBarHidden{
        return NO;
    }
    //状态栏的样式
    -(UIStatusBarStyle)preferredStatusBarStyle{
        return UIStatusBarStyleLightContent;
       
    }

题外话:如果你的视图控制器包含一个UINavigationBar,当你选择隐藏状态栏时,UINavigationBar会显示不正常,高度由64变为44,这个问题的解决办法稍后会更新。

时间: 2024-07-31 09:42:36

iOS状态栏(UIStatusBar)的设置的相关文章

ios 状态栏ActivityIndicator(菊花)设置

非常简单: [UIApplication sharedApplication].networkActivityIndicatorVisible = YES  设置状态栏菊花 [UIApplication sharedApplication].networkActivityIndicatorVisible = NO 就没有了

IOS上 关于状态栏的相关设置(UIStatusBar)

转:http://my.oschina.net/shede333/blog/304560#OSC_h3_8 IOS上 关于状态栏的相关设置(UIStatusBar) 知识普及 ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分: 背景部分:就是显示黑色或者图片的背景部分: 如下图:前景部分为白色,背景部分为黑色  注意:这里只涉及到ios7以及更高版本,低版本下面的讲解可能无效. 设置statusBar的[

ios上 更改 状态栏(UIStatusBar)的颜色,你值得一看、收藏

作者:shede333 主页:http://my.oschina.net/shede333 && http://blog.sina.com.cn/u/1509658847 版权声明:原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][] IOS上 关于状态栏的相关设置(UIStatusBar) 知识普及 ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是

ios上 更改 状态栏(UIStatusBar)

摘要 ios上 更改状态栏(UIStatusBar)的颜色 ios UIStatusBar statusBar 状态栏 更改状态栏颜色 目录[-] IOS上 关于状态栏的相关设置(UIStatusBar) 知识普及 设置statusBar的[前景部分] 1.plist设置statusBar 2.程序代码里设置statusBar 设置statusBar的[背景部分] 系统提供的方法 另辟蹊径 作者:shede333 主页:http://my.oschina.net/shede333 && h

ios上 更改 状态栏(UIStatusBar)的颜色

IOS上 关于状态栏的相关设置(UIStatusBar) 知识普及 iOS上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分: 背景部分:就是显示黑色或者图片的背景部分: 如下图:前景部分为白色,背景部分为黑色 注意:这里只涉及到ios7以及更高版本,低版本下面的讲解可能无效. 设置statusBar的[前景部分] 简单来说,就是设置显示电池电量.时间.网络部分标示的颜色, 这里只能设置两种颜色: 默认的黑色(U

iOS开发之iOS7设置状态栏字体颜色

应用中登陆界面颜色较浅,状态栏字体颜色为黑色,跳转到主界面之后,界面颜色较深,状态栏颜色随之变成白色.但是再重新返回登陆界面后,状态栏字体颜色并没有改成黑色,特别别扭. plist文件里将View controller-based status bar appearance改为NO然后在view controller里边加上下边一句就可以了,这样状态栏是黑字 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyle

【iOS开发-72】设置状态栏的两种方式、程序生命周期以及更好地理解几大类(对象)之间的关系

(1)设置状态栏的2种方式 --第一种方式就是我们在控制器中设置,系统默认就是交给视图控制器去管理的,这样不同视图控制器可以自定义不同的状态栏如下: -(BOOL)prefersStatusBarHidden{ } -(UIStatusBarStyle)preferredStatusBarStyle{ } --如果我们需要交给UIApplication对象管理(iOS6之前就是),则需要如下设置: 先在info.plist中把默认的设置修改掉: 然后直接用如下代码即可: - (void)view

更改ios状态栏颜色

更改状态栏颜色 将iOS状态栏默认颜色为黑色,但有时为了需求,我们需要更改状态栏的颜色,常用的方式有: 方法一: 1.在info.plist添加View controller-based status bar appearance为NO: 2.在页面执行[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]. 但是这种做法在ios9.0以前是完全没有问题的,进入iOS9.0后,便会出现如

iOS状态栏颜色

下面截图给出修改 iOS 状态栏颜色的 4 种方式 Target.png Info.plist.png Storyboard.png code.png 其中第四张图中的代码,直接写在你的任何一个 ViewController 的 class 里面就可以. 然而,以上 4 种方法存在两个问题:1.无法在某一个 ViewController 里面任意切换2.优先级不够高,可能会失效 下面祭出第 5 种方法:首先去 Info.plist 里面,把 UIViewControllerBasedStatus

XE8 for iOS 状态栏的几种效果

XE8 实现 iOS 状态栏的几种效果: 一.状态栏底色: 开一个新工程. 设定 Fill.Color 颜色属性. 设定 Fill.Kind = Solid. 无需修改任何官方源码. 二.隐藏状态栏(全屏): 开一个新工程. 设定 BorderStyoe = None. 无需修改任何官方源码. 三.透明状态栏(能见底图): 开一个新工程. 设定底图 Fill.Bitmap.Bitmap. 设定 Fill.Bitmap.WrapMode = TitleStretch. 设定 Fill.Kind =