2012-03-07 10 views
0

私はiOS5を使用しており、ナビゲーションバーにカスタムTintColorを設定しようとしています。ナビゲーションバーTintColorがUIColorと動作しませんinitWithPatternImage iOS5

コード:私はviewWillAppearに使用していますこの:

[self.navigationController.navigationBar setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"NavigationBarImage.png"]]]; 

画像は、私のアプリケーションで利用可能な320×44のPNG画像です。

私は

self.navigationController.navigationBar.tintColor = [UIColor orangeColor]; 

を使用する場合、それはPatternImageのためにオレンジ色を表示しなく。 私は何が間違っていますか?

答えて

0

UINavigationBarカテゴリを使用して、背景イメージを設定できます。

#import "UINavigationBar+Background.h" 

@implementation UINavigationBar (Background) 

- (void) drawRect:(CGRect)rect { 
    UIImage *image = [UIImage imageNamed:@"NavigationBarImage.png"]; 
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
} 

@end 
+2

ありがとうございました。実際には、これを行うための簡単な方法もあります。私はちょうどそれを考え出した。 [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@ "NavigationBarImage.png"] forBarMetrics:UIBarMetricsDefault]; これはカスタムメイドのイメージのあらゆる種類のために完全に動作します。カテゴリを追加する必要はありません。 –

+0

@ShriniketSarkar私の間違い。なぜ、[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@ "image.png"] forBarMetrics:UIBarMetricsDefault;; 'を直接使用しないのですか? – fannheyward

関連する問題