iOS開發導航欄背景顏色偏差問題和下橫線取消
阿新 • • 發佈:2018-11-15
當設定
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效果