2012-12-04 291 views
3

我已經檢查了許多解決方案,但我仍然有一個與我的NavigationController背景圖像的問題。NavigationController背景圖像問題

這是我的代碼:

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

的問題是,我的酒吧改變它的外觀(顏色爲主),但它仍然看起來並不像我的形象。

有沒有更好的方法來解決這個問題?

+0

chk我的答案http://stackoverflow.com/questions/13488710/how-to-set-a-picture-programmatically-in-a-navbar/13488781#13488781 – Rajneesh071

+0

嘗試添加圖像的格式相同code..that是[UIImage imageNamed:@「header_bg.png」],以便它拍攝出精確的圖像。 – kumareshm174

+0

確保圖像的尺寸與navigationBar的尺寸匹配,也可以使用「[self.navigationController.navigationBar setClipsToBounds:YES];」如果需要,您可以通過這種方式在圖像名稱中忘記「.png」。 –

回答

4

試試這個....

UIImageView *imageView = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @"NavBar_Img.png"]]; 
self.navigationItem.titleView = imageView; 
[imageView release]; 
3

嘗試設置樣式,最後添加如下代碼波紋管..

self.navigationController.navigationBar.barStyle = UIBarStyleDefault; 
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_bg"] forBarMetrics:UIBarMetricsDefault]; 
+0

沒有工作...仍然有某種圖像的漸變...任何想法如何將其刪除,並使其更「平」? (喜歡我的圖片) –

+0

嘿,哥們兒在屏幕上顯示圖片,還有你的導航欄,你可以看到這段代碼。 –

0

與它的一些演出之後,而我已經意識到,設置背景圖像導致導航在其上創建圖像的圖案。如果在欄上添加一個較小的圖像,該圖像會自行重複,或者如果放大一個,您只能看到它的頂部,這就是爲什麼您可以看到顏色而不是圖像。

此外,當您更改背景圖像時,搜索欄的背景顏色將設置爲黑色,這會導致半透明圖像出現問題。因此,儘量避免透明圖像,並嘗試使用相同的高度圖像和酒吧,最好是44像素。

0

我有我同胞共享一個稍微不同的問題,失落的靈魂尋找光O_O

我的背景圖片拒絕在導航欄上顯示我發現之前的一UIAlertView中之後。我試圖創建一個單獨的視圖控制器,並將我的UIAlertView移動到那裏,但同樣的事情發生了:沒有背景圖像!有趣的是,如果我設置的初始控制器,該控制器過去UIAlertView中控制器那麼背景圖像出現預期...

得益於以下帕拉斯喬希的答案,而不是指

[UINavigationBar appearance] 

我使用...

self.navigationController.navigationBar 

和我的背景圖像再次出現,無論UIAlertView。

這兩個參考文獻有什麼區別?開始認爲我需要報告iOS 7存在問題。