效果一:
今天因為這個小東西被吐槽了...但還是決定記錄一下...
其實說是給navigationbar和view設(shè)置同一張圖片是不對的,應(yīng)該是隱藏navigationbar,再去掉statusbar的背景色,添加view
最開始我想成隱藏bar和status,自己仿照status添加一個有網(wǎng)絡(luò)/時間/電量的view.(因為我事先不知道有方法...),但是覺得這樣腦洞太大了(而且太麻煩),所以便去群里問了一下...然后你沒看錯...我被群嘲了(huo gai)....
后來說了半天有不懂我問題的,有要繼續(xù)打我的,最終還是有人拋出了我想要的答案(此處羞澀(wei suo)一笑)
好吧其實就兩句代碼(捂臉)
self.navigationController.navigationBar.hidden = YES; // 隱藏navigationbar
self.automaticallyAdjustsScrollViewInsets = NO; //隱藏statusbar的白色背景
效果二:
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
[self setNavigationBarImageColor:[UIColor redColor]]; // 調(diào)用
//去除導(dǎo)航欄下方的橫線
- (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;
}