-1

我設置一步和下一步按鈕,導航欄項目左鍵和右鍵button.which低於代碼導航欄按鈕隱藏在動畫設置爲YES

// Back Button 

UIBarButtonItem *aBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:aButton]; 

    [aButton addTarget:self action:@selector(navigatehome)forControlEvents:UIControlEventTouchUpInside]; 

self.navigationItem.leftBarButtonItem = aBarButtonItem; 

//Next Button 
aBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:aButton]; 

[aButton addTarget:self action:@selector(navigatenext)forControlEvents:UIControlEventTouchUpInside]; 

[self.navigationItem setRightBarButtonItem:aBarButtonItem] 

和解決問題時animated:YES在聲明中

CSA_info *h1=[[CSA_info alloc]init]; 
[self.navigationController pushViewController:h1 animated:YES]; 

它顯示如下圖像

image when button not shown

如果使用animated:No則表現如下

enter image description here

我在導航欄上添加圖片作爲子視圖,以便它隱藏的按鈕。

UIImage *image = [UIImage imageNamed:@"title bar.png"]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
imageView.frame = CGRectMake(-5, 0, 330, 44); 
[self.navigationController.navigationBar insertSubview:imageView atIndex:2]; 

我需要在導航欄中添加該圖像。

爲什麼這樣,任何幫助?

+0

刪除的圖像,並設置按鈕的背景顏色,那麼請讓我知道如果你仍然面臨着同樣的一點改進。 – 2013-05-01 13:57:46

+0

你能否解釋一下,你在哪裏設置UINavigationBar的右鍵和左鍵。它在CSA_info類中嗎? – 2013-05-01 13:58:00

+0

你必須impliment這個代碼在viewViewAppear – 2013-05-01 14:08:13

回答

1

你需要把標題欄圖像中secondViewcontroller像波紋管在viewDidLoad中

UIImage* imageback = [UIImage imageNamed:@"Back_Button.png"]; 
       CGRect frameimgback = CGRectMake(0, 0, 50, 30); 
       backButton = [[UIButton alloc] initWithFrame:frameimgback]; 
       [backButton setBackgroundImage:imageback forState:UIControlStateNormal]; 
       [backButton addTarget:self action:@selector(Back) 
        forControlEvents:UIControlEventTouchUpInside]; 

       UIImage *image = [UIImage imageNamed:@"titileBar.png"]; 
       [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault]; 

       UIBarButtonItem *btn = [[UIBarButtonItem alloc]initWithCustomView:backButton]; 
       self.navigationItem.leftBarButtonItem = btn; 
1

如果我明白你的問題正確然後下面的解決方案應該工作,

您需要在視圖控制器的viewDidLoad方法添加代碼。請參考下面的代碼

UIButton *backButton = [[UIButton alloc] initWithFrame:kButtonFrame]; 
[backButton setImage:[UIImage imageNamed:kBackButtonImage] forState:UIControlStateNormal]; 
[backButton addTarget:self action:@selector(navigatehome)forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *aBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton]; 
self.navigationItem.leftBarButtonItem = aBarButtonItem; 

UIButton *nextButton = [[UIButton alloc] initWithFrame:kButtonFrame]; 
[nextButton setImage:[UIImage imageNamed:kNextButtonImage] forState:UIControlStateNormal]; 
[nextButton addTarget:self action:@selector(navigatenext)forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *aBarButtonItemRight = [[UIBarButtonItem alloc] initWithCustomView:nextButton]; 
[self.navigationItem setRightBarButtonItem:aBarButtonItemRight]; 

即使您在推動視圖控制器時動畫,這也應該可以正常工作。

+0

代碼不起作用,面臨同樣的問題。 – 2013-05-02 04:32:52

+0

你想在這兩個視圖中出現相同的按鈕嗎? – 2013-05-02 07:15:11

+0

是的,我想在兩個視圖 – 2013-05-02 08:24:21