如何在ios上实现导航后退按钮动作?

时间:2014-06-12 08:21:04

标签: ios xcode ios7 navigation

我使用导航来构建我的uiviewcontroller(A→B)。

但我需要改变背面方法。

我会隐藏<后退按钮。

[self.navigationItem setHidesBackButton:YES];

然后我在底部制作了一个新的工具栏,并在工具栏上添加了一个Bar Button项目(名称为home)。

我已经设置了

 @property (weak, nonatomic) IBOutlet UIBarButtonItem *backHomeBtn;

但我不知道如何实现与原生“

如果我使用Triggered Segue Action push,

我觉得这是错误的方法。因为我摔倒了堆栈会推送一个新的viewcontroller。

如何构建与导航后退按钮相同的操作。

非常感谢你。

============================

我找到了答案:

如果回到A,我们可以使用

 [self.navigationController popToRootViewController]

如果想跳转到直接uiviewercontroller。

我们可以使用

 [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];

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

1 个答案:

答案 0 :(得分:1)

要从B回到A,请创建一个Action事件并在B View Controller中编写此方法,并将此后退按钮与此事件连接。

 [self dismissViewControllerAnimated:YES completion:nil];

如果你想要从A→B→C开始,并希望从C回到A,你可以使用它来到达根控制器。

-(IBAction)unwindToRootController:(UIStoryboardSegue *)segue;

在标题(.h)文件中声明此操作,然后将Button与Exit Responder连接并选择此事件。