2014-05-16 55 views
0

我目前有1個故事板,其中包含2個視圖控制器:ViewController和TableViewController。 ViewController是登錄視圖,而TableViewController是顯示結果(結果視圖)的頁面。在ViewControllers之間導航的設計模式是什麼?

目前,我沒有從登錄視圖創建一個segue到結果視圖。相反,在登錄視圖中,在用戶按下登錄按鈕並進行身份驗證之後,我按以下方式編程推送到結果視圖。

XYZResultsTableViewController* controller = [[XYZResultsTableViewController alloc]init]; 
UINavigationController *navController = self.navigationController; 
[navController popViewControllerAnimated:NO]; 
[navController pushViewController:controller animated:YES]; 

事實上,結果視圖顯示,但有一個「<後退」按鈕,在頂部左側,而如果按下,回到登錄視圖。

所以,我的問題是:

  • 如何擺脫從視圖堆棧登錄視圖的? (所以結果視圖上的後退按鈕不顯示)
  • 這是「程序化」的方式之間瀏覽「壞」的意見?意思是說,我應該依靠故事板,然後繼續下去嗎?我應該導航到新的故事板(我看過這個問題,所以我還沒有訪問它)?

我是一個新人,所以任何幫助表示讚賞。

回答

1

如果你不想使用導航堆棧,你必須使用presentViewController,而不是pushViewController除非你想擁有的viewController的navigationController堆棧

XYZResultsTableViewController* controller = [[XYZResultsTableViewController alloc]init]; 
[viewController1 presentViewController:controller animated:YES];//viewcontroller1 is current view controller 

切勿使用下面的代碼你是顯示

/*XYZResultsTableViewController* controller = [[XYZResultsTableViewController alloc]init]; 
UINavigationController *navController = self.navigationController; 
[navController popViewControllerAnimated:NO]; 
[navController pushViewController:controller animated:YES]; */ 

的詳細信息,這difference between presentViewController and UINavigationController?

http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html