2012-04-30 5 views
0

ナビゲーションバーの画像を外したい(背景画像ではない)。これは左側にナビゲーションバーの画像を設定しています。次のコントローラーに行くと、イメージはバックボタンに重なります。これは私のホーム画面で、画像は青色でマークされています。 Home Screen Dismiss the Navigation bar画像

と画像では、この私の2番目の画面は、今私は私の中でイメージをたくない

enter image description here

そして、この私はバー

UINavigationBar *bar = [self.navigationController navigationBar]; 
UIImageView *barImg=[[UIImageView alloc]initWithFrame:CGRectMake(2, 3, 49, 39)]; 
barImg.image=[UIImage imageNamed:@"smalllogo.png"]; 

[bar addSubview:barImg]; 
[barImg release]; 

に画像を設定するために使用されるコードを重ねました他の画面私はそれのために何をすることができますか?

+0

2番目の画面に画像が表示されなくなりますか? – Dinesh

+0

はい。私は2番目の画面でそれをしたくない。 –

答えて

0

あなたができることは、画像をviewWillAppear:の方法で追加し、viewWillDisappear:メソッドのときにナビゲーションバーから削除することです。関連するコードブロックは次のとおりです。

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    UINavigationBar *bar = [self.navigationController navigationBar]; 
    UIImageView *barImg=[[UIImageView alloc]initWithFrame:CGRectMake(2, 3, 49, 39)]; 
    barImg.image=[UIImage imageNamed:@"smalllogo.png"]; 
    barImg.tag = 100; 
    [bar addSubview:barImg]; 
    [barImg release]; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 
    UINavigationBar *bar = [self.navigationController navigationBar]; 
    [[bar viewWithTag:100] removeFromSuperview]; 
} 

また別の簡単な解決策があります。 viewWillAppear:方法

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"smalllogo.png"]]]; 
[self.navigationItem setLeftBarButtonItem:item]; 
[item release]; 
+0

ありがとう。それは涼しい作品 –

+0

あなたは答えを受け入れ、URのポイントを増やす..! – Dinesh

+0

別の解決策で回答を更新しました。これが正解だと思うならば。同意してください。 :) – uiroshan

0

あなたは、ナビゲーションバーに画像を追加しましたが、他のビューに移動する前にそれを削除していないにコードセグメントの下に追加します。スーパービューから削除する 使っ `

​​

関連する問題