导航栏后退按钮更改功能

时间:2014-09-26 10:56:24

标签: ios iphone ipad uinavigationcontroller navigationbar

我有3个视图控制器:A,B和C. A是初始,它有2个按钮:一个是重定向到B,第二个是C。当按下B时,B按下的用户被重定向到C.现在在C中的导航栏上,当我按下后退按钮时,我希望被重定向到A总是,从不到B.这可能吗?

这是我想要实现的基本功能:

A)

A->B->C      C back to A

b)中

A->C         C back to A

4 个答案:

答案 0 :(得分:0)

唯一的方法是通过自定义按钮替换后退按钮。

答案 1 :(得分:0)

你可以用presentview控制器作为模态视图实现这一点。首先从按下第一个按钮出现b view.if secnd按钮被按下当前c视图和c视图控制器放回按钮并添加代表并实现委托视图控制器。您必须在视图控制器中逐个关闭一个视图。

答案 2 :(得分:0)

在阅读了你所说的内容后,我认为你的意思是为每个按钮实现自定义操作。我会这样做(在Swift中)是这样的:

@IBAction func pressButton(sender : UIButton){

 var SecondView :ViewController2
 SecondView = self.storyboard?.instantiateViewControllerWithIdentifier("SecondView") as ViewController2
 self.presentViewController(SecondView, animated: true, completion:nil)
 self.viewWillDisappear(true)
}

这个方法我已经使用了很多,我知道有另一种使用segues的方法,但你仍然使用@ IBActions。你只需要创建一个新的segue(标识符),然后在prepareforSegue方法中你会说当发生了什么segue被触发

答案 3 :(得分:0)

for (UIViewController *controller in self.navigationController.viewControllers)
{
    if ([controller isKindOfClass:[A class]])
    {
        [self.navigationController popToViewController:controller
                                              animated:YES];
        break;
    }
}