iOS開發之給navigationbar和view設置同一張圖片

效果一:
屏幕快照 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;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容