iOS开发之给navigationbar和view设置同一张图片

本文介绍了如何通过简单的代码实现iOS应用中导航栏的定制,包括隐藏默认导航栏、更改状态栏样式以及设置导航栏背景颜色等操作。

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

效果一:
2835490-51dff4a612f6fdb5.png
屏幕快照 2017-06-09 15.55.31.png
   今天因为这个小东西被吐槽了...但还是决定记录一下...

其实说是给navigationbar和view设置同一张图片是不对的,应该是隐藏navigationbar,再去掉statusbar的背景色,添加view

最开始我想成隐藏bar和status,自己仿照status添加一个有网络/时间/电量的view.(因为我事先不知道有方法...),但是觉得这样脑洞太大了(而且太麻烦),所以便去群里问了一下...然后你没看错...我被群嘲了(huo gai)....

2835490-f5784b098057c57d.png
Simona_Test1

后来说了半天有不懂我问题的,有要继续打我的,最终还是有人抛出了我想要的答案(此处羞涩(wei suo)一笑)

好吧其实就两句代码(捂脸)

    self.navigationController.navigationBar.hidden = YES; // 隐藏navigationbar
    self.automaticallyAdjustsScrollViewInsets = NO; //隐藏statusbar的白色背景
效果二:
2835490-b233db93883f2808.png
Simona_Test2
 self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
[self setNavigationBarImageColor:[UIColor redColor]]; // 调用


//去除导航栏下方的横线
- (void)setNavigationBarImageColor:(UIColor *)color {
[self.navigationController.navigationBar setBackgroundImage:[self createImageWithColor:color]
                                             forBarPosition:UIBarPositionAny
                                                 barMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[UIImage new]];

}

-(UIImage*) createImageWithColor:(UIColor*) color
{
CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return theImage;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值