如何使用后退按钮覆盖左栏按钮项目

时间:2015-03-26 11:35:22

标签: ios uistoryboard back-button uistoryboardsegue pushviewcontroller

我的故事板流程提供了两个具有不同视图控制器的入口点(由导航控制器支持)

首先是

- > NC - > A - > B - > ç

第二是

- > NC - > B - > ç

所有这些都在iPad上呈现为模态表单。 RootVCs(A和B)在故事板中定义了关闭的左栏按钮项,并连接到解除模态的方法。

问题是: 有没有办法在B vc中用后退按钮覆盖leftbarrbuttonitem?看看导航控制器从A推送到B时的第一个流程案例。

在任一流程中,我只在rootViewController中有关闭按钮。

2 个答案:

答案 0 :(得分:0)

我想出的解决方案是在B vc的viewDidLoad中实现以下代码:

if (![self.navigationController.viewControllers.firstObject isEqual:self]) {
  self.navigationItem.leftBarButtonItem = nil;
}

答案 1 :(得分:0)

尝试使用以下代码,

您可以自定义自己的后退按钮。

它可能对你有帮助.. :))

[self setBackbtn];   //from didload

-(void)setBackbtn
{
    UIImage *buttonImage = [UIImage imageNamed:@"ic_back.png"];
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setImage:buttonImage forState:UIControlStateNormal];
    button.frame = CGRectMake(-20, 0, 50, 50);
    [button addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];

//    self.navigationItem.leftBarButtonItem = customBarItem;
    [customBarItem release];


}

- (void)back {
    [self.navigationController popViewControllerAnimated:YES];  
   //You can customize here what you want
}