如何关闭当前视图控制器就像按导航控制器上的后退按钮

时间:2015-06-25 07:44:26

标签: ios objective-c

无论如何都要在导航栏上实现后退按钮的效果?

例如:我有两个视图控制器,让名称然后是vc1(嵌入在导航控制器中)和vc2。在vc2的导航栏上,我有一个"完成"右侧的按钮。

我希望当我从vc1导航到vc2时,我可以通过按下"完成"然后返回到vc1。 vc2上的按钮。我希望按下"完成"按钮与导航栏上的按下按钮相同。

我尝试使用[self dismissViewControllerAnimated:YES completion:nil]; 使用push segue也不会起作用。

有任何帮助吗?非常感谢!

3 个答案:

答案 0 :(得分:5)

要在导航视图堆栈中返回一个视图控制器,只需使用。

[self.navigationController popViewControllerAnimated: YES];

如果您想从开始推送到初始视图控制器,请使用

[self.navigationController popToRootViewControllerAnimated:YES];

答案 1 :(得分:3)

如果要弹出动画,请使用popViewControlAnimation。如果你想要关闭样式动画,那么首先呈现它不推,然后解雇它。因为你提出的那个vc只有那些vc才能解雇

用于流行动画

[self.navigationController popViewControllerAnimated: YES];

用于解雇动画

[self dismissViewControllerAnimated:YES completion:^{

    }];

答案 2 :(得分:2)

如果你想从你到达vc2的地方看到之前的viewcontroller。你可以使用以下代码。这将带您进入最后一个viewcontroller [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count-2] animated:YES];