所以我用UITableViewControllers
创建了三个UINavigationController
。我想在第3 UITableViewController
个后退按钮,将我的视图返回到第一个UITableViewController
而不是第二个backButton
。
我怎样才能做到这一点?那必须是真实的{{1}},而不是图像或其他东西。只有故事板才能做到这一点。
更新 也许我很难解释我想要的东西。 我不想使用任何带动作的按钮。我只想在我的默认后退按钮上设置第一个TableViewController的“地址”。有办法吗?
答案 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
的标题作为按钮标题一样,所以您只需要更改它。