-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