2012-05-23 5 views
9

私はこのコードで自分のNavigationBarを設定するためにUIAppearanceを使用します。不要なときにUIAppearanceを取り除く方法は?私AppDelegateで

[[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しましたか?そのメールのコンポーザーについてではなく、一般的な質問です。 – calimarkus

関連する問題