1. 程式人生 > >iOS開發導航欄背景顏色偏差問題和下橫線取消

iOS開發導航欄背景顏色偏差問題和下橫線取消

當設定  

self.navigationController.navigationBar.barTintColor

屬性的時候,我們會發現顏色是有偏差的,是因為有一層毛玻璃效果檢視,可以設定

self.navigationController.navigationBar.translucent = NO;

取消毛玻璃效果。但是設定後會發現檢視下移的情況,是因為 translucent 設定為 NO 之後,控制器的self.view的原點是從導航欄左下角開始計算的,所以只要重新設定檢視的Y座標就行了。

當需求需要導航欄與底部相連檢視顏色一致時,會發現有一條橫線

 圖1 ===============

                                       

 

圖2===============

  

從Xcode的檢視層級工具中可以發現,橫線是一個UIImageView

程式碼設定

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];

  [self.navigationController.navigationBar setShadowImage:[UIImage new]];

就能達到圖2效果