【问题标题】:how to achieve the navigation back button action on ios?如何在ios上实现导航返回按钮动作?
【发布时间】:2014-06-12 08:21:04
【问题描述】:

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

但是我需要更改返回方法。

我将隐藏

[self.navigationItem setHidesBackButton:YES];

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

我已经设置了

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

但是对于原生的“<Back”按钮效果,我不知道如何实现同样的动作。

如果我使用 Triggered Segue Action push,

我觉得这是错误的方法。因为我掉了栈会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];
     }
 }

【问题讨论】:

    标签: ios xcode ios7 navigation


    【解决方案1】:

    为了从 B 回到 A,制作一个 Action 事件并在 B View Controller 中编写此方法,并将您的后退按钮与此事件连接。

     [self dismissViewControllerAnimated:YES completion:nil];
    

    当你像 A → B → C 一样,想从 C 回到 A 时,你可以用它来到达根控制器。

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

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

    【讨论】:

    • 非常感谢~我找到了其他答案,我在我的问题上发布。
    • 很高兴它对您有所帮助。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    相关资源
    最近更新 更多