假设我们有一个应用程序,它有很多视图控制器和一个导航栏。现在,应用程序从视图A开始,然后我们可以按下一个并转到B,按下一个然后转到C等。 现在,在最后一个视图中,让我们说Z - 我们有一个按钮“转到第一个”。我所做的是,从视图Z拖到视图A并创建了一个segue。我给了segue一个标识符,让我们说“goToA”。现在,当按下按钮时,我做了类似的事情
-(IBAction)goToFirstPressed{
[self performSegueWithIdentifier:@"goToA" sender:self];
}
它做了什么 - 它转到A.但是这里是重要的部分 - 它没有进入屏幕上第一次出现的A,它转到另一个视图控制器A的实例。所以让我们说如果我在第一个视图控制器(A)播放视频,现在我去Z然后segue,我将不再看到该视频,更重要的是 - 我可以播放相同的视频两次,重叠声音。 有关如何解决此问题的任何想法?谢谢!
答案 0 :(得分:2)
Segue只朝一个方向发展。它将始终为您导航到的视图创建一个新实例。
你可以使用委托。
尝试this
您可以按如下方式实现该协议方法:
- (void) goToFirstView{
[[self navigationController] popToRootViewControllerAnimated:YES];
}