2012-04-30 74 views
0

我想關閉我的導航欄圖片(不是背景圖片)。那是我在左側設置了導航欄圖片。當我轉到下一個控制器時,圖像與後退按鈕重疊。這是我的主屏幕上帶有藍色標記的圖像。 Home Screen DisMiss導航欄圖片

而且這是我的第二個屏幕採用圖像overlaped

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

你需要圖像消失的第二個屏幕? – Dinesh

+0

是的。我不想在我的第二屏幕 –

回答

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

你接受答案並增加你的分數..! – Dinesh

+0

我已經用另一個解決方案更新了答案。如果你認爲這是正確的答案。請接受它。 :) – uiroshan

0

您已添加在圖像中的導航欄,但移動到其他視圖之前不除去它。 使用'

​​

將其從超級景觀中刪除。