IOS7导航条与状态栏的那些事儿


  • 改变状态栏文字的颜色

项目需要将状态栏的文字颜色设置为白色,以下方法即可:

  1. 在 Info.plist 中设置’View controller-based status bar appearance’ 为 NO;
  2. 在AppDelegate 中添加:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
   ......
   ...
} 

  • 设置导航栏的背景图片

原由:
1、背景颜色实现不了所需要的效果(你所需要实现效果的图片)
2、实现导航栏的透明(需要一张透明图片)
以上两者都可以通过设置背景图片来实现,可以利用NavigationBar的- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics方法将图片填充NavigationBar的背景。

准备:
全通道全透明的图片一张,规格:64px*1px 或 1px *1px

实现方法一:

//导航栏背景
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"图片"] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

注:

其中UIBarMetricsDefault指的是手机竖直方向的NavigationBar,另外一个常用的UIBarMetricsLandscapePhone指的是手机横向的NavigationBar。

实现方法二:

 //导航栏背景
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"图片"] forBarMetrics:UIBarMetricsDefault];

    //导航栏底部线
    self.navigationController.navigationBar.shadowImage =[UIImage imageNamed:@"图片"];

  • 重写navigationController的back方法

情景描述:由AView ->BView ,想要对B返回A的按钮进行操作,可行方式—>back重写

实现方式一:
在BView的NavigationItem自定义一个LeftBarButtonItem,实现返回导航操作。代码可参考:

UIBarButtonItem *barButtonItemLeft=[[UIBarButtonItem alloc] initWithTitle:@"返回主页" style:UIBarButtonItemStyleBordered target:self action:@selector(NavigationToMainView)];
[[self navigationItem] setLeftBarButtonItem:barButtonItemLeft];

实现方式二:
在AView中,设置返回按钮自定义样式。具体代码可参考:

UIBarButtonItem *backItem=[[UIBarButtonItem alloc]init];
    backItem.title=@"";
    backItem.image=[UIImage imageNamed:@""];
self.navigationItem.backBarButtonItem=backItem;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值