2

假设我们有一个应用程序,它有很多视图控制器和一个导航栏。现在,应用程序从视图 A 开始,然后我们可以按下一步并转到 B,按下一步并转到 C 等等。现在,在最后一个视图中,假设 Z - 我们有一个“转到第一个”按钮。我所做的是,从视图 Z 拖到视图 A 并创建了一个 segue。我给了那个segue一个标识符,比如说“goToA”。现在,当按下按钮时,我做了类似的事情

-(IBAction)goToFirstPressed{
[self performSegueWithIdentifier:@"goToA" sender:self];
}

它做了什么——它去了 A。但这是重要的部分——它不是第一次出现在屏幕上的 A,而是视图控制器 A 的另一个实例。所以假设我有第一个视图控制器(A)播放视频,现在我转到 Z 然后 segue,我不会再看到那个视频了,更重要的是 - 我可以播放相同的视频两次,重叠声音。关于如何解决这个问题的任何想法?谢谢!

4

1 回答 1

2

Segue 只向一个方向发展。它总是会为您导航到的视图创建一个新实例。

您可以为此使用委托。

试试这个

您可以如下实现该协议方法:

- (void) goToFirstView{

  [[self navigationController] popToRootViewControllerAnimated:YES]; 

}
于 2012-04-28T12:48:38.933 回答