IOS status bar

从iOS7开始,系统提供了2种管理状态栏的方式

通过UIViewController管理(每一个UIViewController都可以拥有自己不同的状态栏)

通过UIApplication管理(一个应用程序的状态栏都由它统一管理)

在iOS7中,默认情况下,状态栏都是由UIViewController管理的,UIViewController实现下列方法就可以轻松管理状态栏的可见性和样式

状态栏的样式

- (UIStatusBarStyle)preferredStatusBarStyle;

状态栏的可见性

- (BOOL)prefersStatusBarHidden;

如果想利用UIApplication来管理状态栏,首先得修改Info.plist的设置

UIApplication *app = [UIApplication sharedApplication];

[app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

[app setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];

//    app.statusBarHidden = YES;

//    app.statusBarStyle = UIStatusBarStyleLightContent;

时间: 2024-05-09 23:16:52

IOS status bar的相关文章

ios status bar 字体颜色

1, if ([[[UIDevice currentDevice] systemVersion] floatValue] < 7.0) { [application setStatusBarStyle:UIStatusBarStyleDefault]; } else { [application setStatusBarStyle:UIStatusBarStyleLightContent]; } 2,info.plist View controller-based status bar appe

iOS开发-UINavigationBar和Status Bar实用技巧

iOS7之后关于UINavigationBar和Status  Bar都发生了一系列的改变,如果不需要兼容iOS7之后的设备,按照网上有些资料去解决问题会踩到一些坑.在iOS 7中,我们可以修改每个View Controller中状态栏的外观,而iOS7之前的状态栏都是白色风格.iOS7之前设置背景颜色还需要搞个背景View覆盖,而iOS7只需要设置一下barTintColor颜色即可. UINavigationBar设置 1.设置背景颜色: [self.navigationController

iOS 使用Method Swizzling隐藏Status Bar

在iOS 6中,隐藏Status Bar非常的简单. // iOS 6及以前,隐藏状态栏 [[UIApplication sharedApplication] setStatusBarHidden:YES]; 来到了iOS 7的年代以后,需要在UIViewController中指定: #ifdef __IPHONE_7_0 - (BOOL)prefersStatusBarHidden { return YES; } #endif 并通过下列代码刷新状态栏: if ([viewController

Status bar and navigation bar appear over my view&#39;s bounds in iOS 7

转自:http://stackoverflow.com/questions/17074365/status-bar-and-navigation-bar-appear-over-my-views-bounds-in-ios-7 Question: I recently downloaded Xcode 5 DP to test my apps in iOS 7. The first thing I noticed and confirmed is that my view's bounds is

IOS开发—禁止视图控制器自动调整status bar的风格

今天项目中的一个问题是当点击第三方库提供的按钮时,由于动画的效果使得status bar字体颜色会自动的变成黑色,但是status bar的背景为黑色,所以看起来就像是status bar消失了一样,但是按钮是第三方库中的内容,无法修改,这里我想到的是禁止status bar中的字体颜色自动改变.具体实现如下: 1.在项目的.plist文件中添加新的key:UIViewControllerBasedStatusBarAppearance 2.设置此key的value为NO 3.在didFinis

iOS开发UI篇— View controller-based status bar appearance

info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置.为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,是根本不会被调用的. 一.如果View controller-based status bar appearance 设为YES. 这时 vi

Status Bar变换

背景 iOS 中经常会有需要在某个界面改变状态栏颜色或者某个界面隐藏状态栏的需求.而改变状态栏颜色和控制状态栏显示和隐藏的API,在iOS 的不同版本中也发生了很多变化. iOS 7以前 在iOS 7之前,状态栏是不占视图位置的.每个控制器中的根view都是从屏幕的Y轴20px处开始显示的.所以那个时候整个app状态栏的风格,一般只在plist文件里设置[对应于General中的Status Bar Style].印象里似乎只有黑白两种风格,已记不清了! iOS 7以前状态栏设置 从API来看,

Status Bar in iOS7

This is a very important change in iOS 7: the status bar is no longer a separate bar. It’s now something that simply gets drawn on top of your view controllers. In previous versions of iOS, if your app displayed the status bar the height of the view

自定义状态栏背景(status bar)

公司大设计师只出iOS设计图.新的iOS系统的状态栏(status bar,就是显示时间.电量那个)是透明的,Android 4.4 (Kitkat,api 19)也添加了自定义 status bar 和 navigation bar 的一些api,可以实现同样的效果. --- github上有 SystemBarTint 可以使用,但是很多功能用不到,所以自己实现了下. --- @Override protected void onCreate(Bundle savedInstanceStat