美文网首页iOS Developer
iOS开发之给navigationbar和view设置同一张图片

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

作者: Ego_1973 | 来源:发表于2017-06-09 16:28 被阅读0次
效果一:
屏幕快照 2017-06-09 15.55.31.png
   今天因为这个小东西被吐槽了...但还是决定记录一下...

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

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

Simona_Test1

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

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

    self.navigationController.navigationBar.hidden = YES; // 隐藏navigationbar
    self.automaticallyAdjustsScrollViewInsets = NO; //隐藏statusbar的白色背景
效果二:
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;
}

相关文章

网友评论

    本文标题:iOS开发之给navigationbar和view设置同一张图片

    本文链接:https://www.haomeiwen.com/subject/zilfqxtx.html