2012-02-28 10 views
-1

を変更は私がUINavigationBarの背景を変更するには、次のコードを使用するために使用されるuinavigationBar複数の背景のiOS 4.3

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

ので、今私は1つの背景NavBar2.png以上のものを必要とします... 。

これを達成する方法は?

ありがとう

+0

ナビゲーションバーごとにタグを設定して試しましたか? –

+0

@ R.A NO、上記の方法をどのように取り入れることができますか? –

+0

XIBの各ナビゲーションバーにタグを設定し、if条件を設定してnavigationBar.tagを確認し、if条件ごとに異なる画像を設定します –

答えて

0

は、ナビゲーションバー

ため titleViewを置きます
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 165, 44)]; 
    UIImageView *imgv = [[UIImageView alloc] initWithFrame:aView.frame]; 
    imgv.image = [UIImage imageNamed:@"NavBar01.png"]; 
    [aView addSubview:imgv]; 
    self.navigationController.navigationBar.topItem.titleView = aView; 
    [aView release]; 
    [imgv release]; 
0

このコードを試してください。

- (void) drawRect:(CGRect)rect 
{ 
if(navigationBar.tag == 0){ 
    UIImage *image = [UIImage imageNamed:@"NavBar.png"]; 
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
} 
else if(navigationBar.tag == 1) 
    UIImage *image = [UIImage imageNamed:@"NavBar1.png"]; 
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
} 
} 
0

R.A.間違いなくあなたを助けるでしょう。あなたはiOS5を上のアプリを開発している場合

、その後、あなたも見てとることができます。画像の背景として、私の元のコードを使用して、私はそれを解決

- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics 
関連する問題