2015-11-19 53 views
0

我有一個UIViewController(HomeView),顯示我的UIView通過Segue調用GameView。正確的方法來解散多個UIViews?

[self performSegueWithIdentifier: @"segue_playgame" sender: self]; 

當使用按下按鈕時,GameView調用UIView(PauseView)。這個暫停視圖是通過添加PauseView到UIView顯示的。

UIView *pv = [[PauseView alloc] initWithFrame:self.view.bounds]; 
[self.view addSubview:pv]; 

要刪除PauseView我打電話

[pv removeFromSuperview]; 

有沒有辦法來調用PauseView的「遊戲結束」的方法,將同時刪除PauseView和GameView採取用戶返回的HomeView (UIViewController的)?

並注意,是否有更好的方法來處理顯示視圖並將其刪除?或者我是如何做得很標準的?

enter image description here

+0

我不明白這個問題。只需在兩個視圖中調用removeFromSuperview。如果一個人在那個時候不可見,沒有什麼不好的事情發生。 – Avi

回答

1

什麼你缺少這裏是一個UINavigationController。從official documentation

的UINavigationController的類實現了管理的層級內容導航專門視圖 控制器。此導航界面使您可以高效地顯示數據 ,並使用戶更容易瀏覽該內容。 您一般按原樣使用此類,但您也可以將其自定義爲 自定義類行爲。

UINavigationController堆棧,你可以使用託管的意見吧:

- (NSArray<__kindofUIViewController *> *)popToRootViewControllerAnimated:(BOOL)animated 

要彈回到根視圖控制器,你的情況是你家的視圖控制器。