【问题标题】:Show or Present ViewController?显示或呈现 ViewController?
【发布时间】:2014-12-16 18:30:51
【问题描述】:

我有一个 swift 应用程序,它以包含 3 个按钮的 rootViewController 开头。

第一个应该打开一个tabViewController,里面有3个标签。

第二个应该打开一个带有嵌套 TableViewController 的 navViewController,它会打开另一个 tableViewController

最后一个应该打开一个带有 2 个按钮的常规视图控制器,都打开一个带有嵌套 tableViewController 的 navController

哪个是最好的“模式”?我应该使用 ContainerViewController 作为 root 吗?

rootViewController的主要3个按钮打开相关控制器,show还是present,哪种方法最好?

这是我的应用程序的草图:http://i60.tinypic.com/6jq537.png

【问题讨论】:

    标签: objective-c swift uiviewcontroller storyboard


    【解决方案1】:

    主要要问的是这些单独的视图是如何相关的?它们与开头的“菜单”视图有什么关系?

    1. 选项卡视图 -
    2. 嵌套表视图 -
    3. 另外两张桌子的另一个菜单...

    首先,我将介绍如何单独构建每个...

    标签视图

    我可能会在它自己的故事板中创建它。您没有指定标签是否有自己的导航?如果是这样,那么每个选项卡都应该以 NavigationController 开头。即带有 3 个选项卡的 1 个选项卡栏控制器。 3 个导航控制器(每个选项卡一个),然后每个导航控制器的根视图控制器将成为选项卡的内容。

    嵌套表视图

    这个导航应该在导航控制器中处理。所以你要么想展示一个带有第一个表格视图控制器的导航控制器,要么你想首先使用导航控制器来展示它。

    第三视图

    这本质上是菜单视图的复制。除了每个按钮都转到上面提到的嵌套表视图。同样,您将需要一个导航控制器。

    我会做什么

    您可能应该从导航控制器开始作为您的根视图。如果您想轻松返回菜单视图,那将是有意义的。

    然后按钮 2 和 3 的问题是微不足道的,因为您只需将它们推到导航控制器上。

    对于标签栏控制器,我也会将其推送到导航控制器上,但可能会考虑在过渡期间隐藏导航栏,以免陷入导航控制器正在做什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-07
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多