2016-08-23 50 views
2

集navigationController與尺寸750×90的圖像尺寸如何設置的圖像上UINavigationBar的

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"bg.png"] forBarMetrics:UIBarMetricsDefault]; 

上的UINavigationController設置圖像到導航控制器它不是完全地繪製圖像之後的圖像。

如何在UINavigationController欄上設置圖像。

回答

2
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"bg.png"] forBarMetrics:UIBarMetricsDefault]; 
3

試試這個

使用resizableImageWithCapInsets的方法:resizingMode:和resizingMode設置爲UIImageResizingModeStretch,否則圖像將在導航欄中仍然一樣。

UIImage *currentImgae = [[UIImage imageNamed:@"bg.png"] 
            resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0) resizingMode:UIImageResizingModeStretch]; 

[self.navigationController.navigationBar setBackgroundImage:currentImgae forBarMetrics:UIBarMetricsDefault]; 

斯威夫特

let currentImgae = UIImage(named: "bg.png")!.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 0, 0, 0), resizingMode: .Stretch) 
self.navigationController.navigationBar.setBackgroundImage(currentImgae!, forBarMetrics: .Default) 
+0

@kiran - 接受答案 –