【问题标题】:Managing multiple viewcontrollers with views displayed in a sequential way - should I use NavigationController?使用按顺序显示的视图管理多个视图控制器 - 我应该使用 NavigationController 吗?
【发布时间】:2011-04-09 07:10:09
【问题描述】:

我有许多 viewControllers (iPad),它们管理向用户呈现各种屏幕的不同视图(开始屏幕 -> 设置屏幕 -> 主屏幕 -> 详细信息屏幕 -> 摘要屏幕)。 这些屏幕正在根据用户交互顺序遍历(如上面的箭头所示)。该规则的一个例外是我应该能够从每个其他屏幕导航到开始屏幕。 我不想让用户显式浏览这些屏幕(使用导航栏) - 只有应用程序逻辑应该这样做。

我应该如何处理这样的 viewControllers 表示逻辑?我应该使用带有隐藏导航栏和弹出/推送视图控制器的 NavigationController 吗?还是不必要的矫枉过正?也许简单地将 viewController.view 添加到根视图的子视图就足够了? 对不起,如果这个问题很愚蠢,但我认为我仍然没有在 iOS 中得到 MVC 是正确的

【问题讨论】:

    标签: iphone cocoa-touch ipad ios


    【解决方案1】:

    是的,在这种情况下,NavigationController 是您的朋友。基础是:

    [self.navigationController pushViewController:newViewController animated:YES];
    

    ...将每个后续视图控制器添加到堆栈中,然后...

    [self.navigationController popToRootViewControllerAnimated:YES];
    

    ...让您回到开始屏幕。

    当然可以在每个视图控制器的viewDidLoad 方法中隐藏导航栏,但这会阻止您返回堆栈。如果这是故意的,那么我认为这是一个完全有效的设置。

    【讨论】:

      猜你喜欢
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多