UINavigationController后退按钮返回到FIrstTableViewController

时间:2014-08-11 08:53:21

标签: ios uinavigationcontroller

所以我用UITableViewControllers创建了三个UINavigationController。我想在第3 UITableViewController个后退按钮,将我的视图返回到第一个UITableViewController而不是第二个backButton。 我怎样才能做到这一点?那必须是真实的{{1}},而不是图像或其他东西。只有故事板才能做到这一点。

更新 也许我很难解释我想要的东西。 我不想使用任何带动作的按钮。我只想在我的默认后退按钮上设置第一个TableViewController的“地址”。有办法吗?

3 个答案:

答案 0 :(得分:0)

添加按钮并将其连接到以下操作

  - (IBAction)backToFirstView:(UIButton *)sender
    {
        [self.navigationController popToRootViewControllerAnimated:YES];
        (or)
        [self.navigationController popToViewController:yourFirstViewControllerObject animated:YES];
    }

答案 1 :(得分:0)

从DetailViewController导航到其他视图控制器有不同的方法。 我们将逐一审议案件。

  • 首先,我想澄清一下,如果它是你的默认值 导航栏的后退按钮,然后它必须返回到最后一个 仅查看控制器,它实际上是一个默认行为 导航控制器。
  • 第二,如果你想回去 最后一个视图控制器在您放置的按钮上,你 应该写下面的代码
   [self.navigationController popToViewController:NAME_OF_A_VIEWCONTROLLER animated:YES];
  • 第三,如果你想从你那里去第一个视图控制器 开始时,您应该编写以下代码

    [self.navigationController popToRootViewControllerAnimated:YES];

答案 2 :(得分:0)

好的,我找到了解决问题的方法。谢谢你的答案,他们非常有帮助。 因此,为了解决这个问题,您只需要使用link给我Kumar KL上层的内容,并在UITableVIewController

中编写下一个方法
-(void) viewWillDisappear:(BOOL)animated {
    if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) {
       // Navigation button was pressed. Do some stuff 
      [self.navigationController popViewControllerAnimated:NO];
    }
    [super viewWillDisappear:animated];
}

现在你有一个backButton将你重定向到你的viewController,但是这个按钮的标题是错误的。让我们解决这个不公平的问题。 使用CustomSegue中的下一个代码创建从UIStoryboardSegue继承的新课程CustomSegue.mцрфе:

- (void)perform
{
    UIViewController *sourceView = (UIViewController *) self.sourceViewController;
    UIViewController *destinationView = (UIViewController *) self.destinationViewController;
    [[destinationView navigationItem] setTitle:@"TitleOfYourViewController" ] ;
    [sourceView.navigationItem setTitle:@"TitleOfButton"] ;
    [sourceView.navigationController pushViewController:destinationView animated:YES];
}

现在您可以转到故事板并将第二个ViewController与第三个custom segue连接起来。 就像您看到UINavigationController使用以前ViewController的标题作为按钮标题一样,所以您只需要更改它。