iOS7 中的StatusBar和以前版本的相比发生了很大变化,在iOS7下对statusbar的使用须要全新的方法,如今就总结如下statusbar的方法: app
StatusBar有两种样式: ide
要改变StatusBar的显示样式须要在UIViewController中重载: 动画
- (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; }
- (void)viewWillAppear:(BOOL)animated { [self setNeedsStatusBarAppearanceUpdate]; }
显示和隐藏StatusBar只要在UIViewController中重载: spa
- (BOOL)prefersStatusBarHidden { return YES; }
一样式改变同样须要调用 [self setNeedsStatusBarAppearanceUpdate] 方法 code
如今有两种动画效果:UIStatusBarAnimationFade ,UIStatusBarAnimationSlide.从他们的名字能够得知他的具体是什么眼的效果。 实现动画须要重载: animation
- (UIStatusBarAnimation )preferredStatusBarUpdateAnimation { return UIStatusBarAnimationSlide; }
[UIView animateWithDuration:0.3 animations:^{ [self setNeedsStatusBarAppearanceUpdate]; }];
有一些应用默认就没有Statusbar如: 产品
这样的应用很丑,总感受缺点什么,可是有些产品经理就是喜欢。 it
要实现这种效果,最须要在项目配置plist文件总将Status bar is initially hidden 字段设置为 YES, 添加View controller-based status bar appearance 字段, 并将值设置为 NO: io
有一些体统提供的组建,如 发送邮件MFMailComposeViewController,没法更改Statabar样式,就是使用它的子类都没法实现,若是有朋友知道如何实现,必定要告诉小弟, 不胜感激 class