uistatusBar 详解

本文详细介绍了在iOS7环境下如何设置状态栏的隐藏、样式改变、字体颜色、导航栏样式统一、tabBarItem选中效果及状态栏刷新等功能,包括隐藏状态栏、设置样式为白色字体或黑色字体、导航栏和状态栏一体、tabBarItem选中效果修复、状态栏字体颜色调整、取消iOS7自带手势等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

成功的方法:

方法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.youkuaiyun.com/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值