2013-04-29 118 views
2

現在我試圖用我的自定義圖像更改UINavigationController背景圖像。UINavigationController背景顏色變化,隱藏iOS中的後退按鈕

我可以更改以下代碼。

[navigation.navigationBar insertSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navController.png"]] atIndex:1]; 

所以我有下面的圖片。該圖是正確的,並顯示BarButton

enter image description here

但是當我去detailViewController,沒有BackButton。但是,我可以不看就看到它。

當我回到MainViewController後,我的UINavigationController背景像下面的圖片一樣發生。

enter image description here

他們都躲在我的按鈕。我在考慮atIndex:1正在解決此問題,因爲索引1高於0,並且所有按鈕索引必須是0

這就是爲什麼所有按鈕都消失了。

那麼我該如何解決這個問題呢?請幫忙。

感謝您的幫助。

+1

你爲什麼不使用'了setBackgroundImage:forBarMetrics :'?請參閱[doc](http://developer.apple.com/library/ios/documentation/uikit/reference/UINavigationBar_Class/Reference/UINavigationBar.html#//apple_ref/occ/instm/UINavigationBar/setBackgroundImage:forBarMetrics :) – tkanzakic 2013-04-29 15:06:56

+0

哦。你是對的。我忘了用那個..非常感謝你。 :)請與答案一起。我會打勾你的。 – 2013-04-29 15:08:51

回答

2
// not supported on iOS4 
UINavigationBar *navBar = [purchaseNavController navigationBar]; 
if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) 
{ 
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"brnlthr_nav.jpg"] forBarMetrics:UIBarMetricsDefault]; 
} 
0

嘗試使用外觀代理由蘋果提供

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"your_image"] forBarMetrics:UIBarMetricsDefault]; 

,將其設置爲整個應用程序,也可以使用

[[self.navigationController.navigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"your_image"]];