uistatusBar 详解

成功的方法:

方法1、隐藏应用程序内所有的StatusBar

第一步:在Info.plist,然后添加一个新的row,"View controller-based status bar appearance",然后把键值设置为NO

第二步:在info.plist里面把Status bar is initially hidden设置成了YES

方法2、隐藏指定view的StatusBar

第一步:在Info.plist,然后添加一个新的row,"View controller-based status bar appearance",然后把键值设置为NO

第二部:在需要的地方,添加如下的代码:
[[UIApplication sharedApplication]setStatusBarHidden:YESwithAnimation:UIStatusBarAnimationNone];

ps:同时要记得在指定view的属性区,将status bar 设置为none,如下所示,否则页面的最下端将会露出20pt的背景。

1:statusBar字体为白色

在plist里面设置View controller-based status bar appearance 为 NO;设置statusBarStyle 为 UIStatusBarStyleLightContent

2:设置statusBar和navigationbar为一体

[nav.navigationBar setBackgroundImage:[UIImage imageNamed:@"bg_navbar.png"] forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault];

3:tabBarItem被选中没效果,需要调用sdk7中的方法:

//兼容ios7以前
[viewController.tabBarItem setFinishedSelectedImage:actionMenu.selectedIcon withFinishedUnselectedImage:actionMenu.icon];
//ios7的方法
viewController.tabBarItem.selectedImage = actionMenu.selectedIcon;

4:刷新状态栏statusBar

[self setNeedsStatusBarAppearanceUpdate]

5:navigationbar上面的BarButtonItem字看不见问题,backBarItem箭头没有,则需要

//ios7设置BarButtonItem字体颜色,则会显示出来,不包括返回箭头
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, 0) forBarMetrics:UIBarMetricsDefault];
//设置BarButtonItem颜色,包括返回箭头
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

6:取消ios7自带手势,比如navigationcontroller的右滑返回

self.navigationController.interactivePopGestureRecognizer.enabled = NO ;

参考:http://blog.csdn.net/xiaoxiangzhu660810/article/details/16111765
iOS7 StatusBar 在需要隐藏或改变样式时在UIViewConroller中调用:

[self setNeedsStatusBarAppearanceUpdate];
1、隐藏

StatusBar在iOS7中无法使用一下接口隐藏:

 [[UIApplication sharedApplication] setStatusBarHidden:YES];
若要隐藏需要在UIViewController中实现下列函数:

- (BOOL)prefersStatusBarHidden
{
    return YES;
}
2、样式改变

iOS 7中statusbar 有两种样式:白色字体UIStatusBarStyleLightContent和黑色字体UIStatusBarStyleDefault。
如果改变需要在UIViewController中实现:

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleDefault;
}

参考:http://www.kankanews.com/ICkengine/archives/64050.shtml

iOS 通过代码设置statusBar的tintColor颜色(点击进入)

 

原文地址:https://www.cnblogs.com/ygm900/p/3471509.html