在我的項目的主視圖控制器,應用程式的用戶點擊「開始」按鈕,我的下一個視圖添加到屏幕上:addChildViewController並刪除它
UIViewController *nextController = [[GamePlayViewController alloc] initWithNibName:@"GamePlayView" bundle:nil];
[self addChildViewController:nextController];
[self.view addSubview:nextController.view];
現在,當用戶要點擊回主菜單,運行的代碼是什麼?
我知道我可以從一個的viewController過渡到另一個,就像這樣:
[self transitionFromViewController:currentPageController
toViewController:nextController
duration:0
options:UIViewAnimationOptionTransitionCurlDown
animations:nil
completion:^(BOOL finished) { [nextController didMoveToParentViewController:self]; }];
但如果我只是想轉換回項目的主視圖控制器?
謝謝!
我不知道...我從來沒有用過導航控制器,我總是從一個viewController轉換到另一個。不要只有導航控制器纔會前後移動?如果我想要一個進入主菜單 - >遊戲播放 - >結果屏幕 - >返回主菜單的程序(不回到GamePlay屏幕)?這是可能的導航控制器?我只是簡單地從ResultsViewController轉換到MainMenuViewController,就像我目前正在做的那樣。 – RanLearns
@ObjectiveFlash,是的,導航控制器可以做到這一點。你可以使用'pushViewController:animated:','popViewControllerAnimated','popToRootViewController'(你所要求的),'popToViewController:animated:'。使用導航控制器時,您還將通過使用自定義轉換接收「viewWillApear」,「viewWillDisapear」回調以及其他幾個您不會收到的代碼。導航控制器不包含的情況非常少,您的情況不屬於它們之一。 –
感謝您的解釋 - 導航控制器是否會自動在屏幕頂部添加欄,以便用戶從一個視圖點擊「返回」到另一個視圖?我不喜歡這些自動酒吧,我爲這些應用程序創建了所有我自己的藝術作品,包括後退按鈕等。有沒有簡單的方法來刪除它?我將把你的答案標記爲正確的,儘管對於這個特定的應用程序,我使用了你的第二個建議,並將第二個視圖作爲模態視圖打開,因爲我在這個特定的應用程序中只有兩個視圖。 – RanLearns