Ios7 在ViewController之间导航的设计模式是什么?

Ios7 在ViewController之间导航的设计模式是什么?,ios7,uiviewcontroller,segue,uistoryboardsegue,Ios7,Uiviewcontroller,Segue,Uistoryboardsegue,我目前有1个故事板,其中包含2个视图控制器:ViewController和TableViewController。ViewController是登录视图,TableViewController是显示结果的页面(结果视图) 目前,我没有创建从登录视图到结果视图的分段。相反,在login视图中,在用户按下login按钮并通过身份验证后,我以编程方式按如下所示进入results视图 XYZResultsTableViewController* controller = [[XYZResultsTabl

我目前有1个故事板,其中包含2个视图控制器:ViewController和TableViewController。ViewController是登录视图,TableViewController是显示结果的页面(结果视图)

目前,我没有创建从登录视图到结果视图的分段。相反,在login视图中,在用户按下login按钮并通过身份验证后,我以编程方式按如下所示进入results视图

XYZResultsTableViewController* controller = [[XYZResultsTableViewController alloc]init];
UINavigationController *navController = self.navigationController;
[navController popViewControllerAnimated:NO];
[navController pushViewController:controller animated:YES];
事实上,结果视图显示了,但左上角有一个“ 因此,我的问题是:

  • 如何从视图堆栈中删除登录视图?(因此结果视图上的“后退”按钮不显示)
  • 这种在视图之间导航的“编程”方式是否“糟糕”?也就是说,我应该依赖故事板和片段吗?我应该导航到一个新的故事板吗(我已经看到这个问题被问到了,尽管我还没有访问它)

我是新来者,非常感谢您的帮助。

如果您不想使用导航堆栈,您必须使用presentViewController而不是pushViewController

 XYZResultsTableViewController* controller = [[XYZResultsTableViewController alloc]init];
[viewController1 presentViewController:controller animated:YES];//viewcontroller1 is current view controller
除非要在显示的viewController中使用navigationController堆栈,否则不要使用下面的代码

  /*XYZResultsTableViewController* controller = [[XYZResultsTableViewController alloc]init];
 UINavigationController *navController = self.navigationController;
 [navController popViewControllerAnimated:NO];
 [navController pushViewController:controller animated:YES];  */
欲了解更多有关此的信息