2012-04-28 54 views
2

假設我們有一個擁有大量視圖控制器和導航欄的應用程序。現在,應用程序從視圖A開始,然後我們可以按下一步並轉到B,然後按下一步並轉到C等。 現在,在最後一個視圖中,讓我們說Z - 我們有一個按鈕「先去」。我所做的是,從視圖Z拖到視圖A並創建了一個segue。我給了這個segue一個標識符,讓我們說「goToA」。現在,當按鈕被按下我不喜歡的東西iOS 5.x - 視圖控制器之間的爭執

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

它所做的 - 它關係到A.但這裏有一個重要的組成部分 - 它不會去那個屏幕上出現第一次在A ,它進入視圖控制器A的另一個實例。讓我們假設如果我在第一個視圖控制器(A)播放視頻,現在我去Z然後繼續播放,我不會再看到該視頻,更重要的是 - 我可以播放相同的視頻兩次,重疊聲音。 有關如何解決這個問題的任何想法?謝謝!

回答

2

塞格只朝着一個方向前進。它將始終創建您正在導航的視圖的新實例。

您可以爲此使用委派。

嘗試this

您可以實現協議的方法類似如下:

- (void) goToFirstView{ 

    [[self navigationController] popToRootViewControllerAnimated:YES]; 

} 
+0

它完美。非常感謝你,先生! – nemesis 2012-04-28 13:05:37