2012-05-23 83 views
9

在我的AppDelegate我用UIAppearance設置我自己的導航欄,此代碼:如何在不需要時擺脫UIAppearance?

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]]; 
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav5.png"] forBarMetrics:UIBarMetricsDefault]; 

但我的應用程序的某些觀點並不需要它。我怎樣才能擺脫它,所以我只能在相關視圖中使用IB?

回答

12

您不需要使用代理。只需得到實際的導航欄,它應該看起來不同,並直接在上面設置顏色。

[navigationBarInstance setTintColor:[UIColor blackColor]]; 
[navigationBarInstance setBackgroundImage:[UIImage imageNamed:@"nav5.png"] forBarMetrics:UIBarMetricsDefault]; 

你也可以設置這兩個值nil,在這裏要再次的標準樣式。 (由Ben Clayton測試)。

[navigationBarInstance setTintColor:nil]; 
[navigationBarInstance setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; 
+0

將背景圖像和顏色設置爲'nil'確實將樣式設置恢復爲默認值。測試。 –

+1

無法在'MFMailComposeViewController'實例上工作(請參閱https://alpha.app.net/stuffmc/post/5028278) –

+0

,因此您做了downvote?這是一個普遍的問題,而不是關於mailcomposer .. – calimarkus