1

我有一个显示 dvd 列表的小应用程序,然后您可以从表格视图中向下钻取并获取一些详细信息。它的底部还有一个标签栏,您可以从 dvds 切换到 Bluray 作为标签按钮。这一切都很好。

在阅读标签栏应用程序时,我看到了一个演示,一旦您添加了超过 5 个标签栏按钮,“更多”就会出现,然后您可以像在 Apple 的音乐应用程序中一样拖放按钮,这很酷!我还注意到每个标签栏按钮控制一个单独的导航控制器,这对我来说是一种新技术。

当我创建我的应用程序时,它有一个导航控制器,我添加了一个视图控制器,视图的顶部是一个表格视图,视图的底部是一个标签栏。然后我将按钮拖到按钮栏,可以添加超过 5 个按钮,并且“更多”不显示。

所以,我认为,它需要是一个不同的导航控制器设计。

我很困惑我是否可以使用我的应用程序并嵌入标签视图控制器,或者我是否可以调整我拥有的东西。

现在,由于所有选项卡基本相同(一个深入到详细视图的表),我只是在切换选项卡时从不同的文件重新加载数据。干净整洁。

如果我切换到选项卡视图控制器的概念,那么创建 5 个导航控制器和 5 个表视图(向下钻取到 5 个详细视图)似乎很浪费。另外,如果我想要 7 怎么办?还是 9?(我确实意识到(或猜测)我可以为每 5 个视图赋予相同的类名,但 UI 仍然有很多故事板......)

这是一个设计问题,可以更好地了解我的选择。

4

1 回答 1

0

标签栏控制器必须始终是应用程序的根控制器。(除非它在拆分视图中,在这种情况下拆分的不同侧可以是标签栏控制器 - 但它仍然必须是根。)

因此,您的应用程序的正确设计是:标签栏控制器作为根,每个标签包含一个导航控制器,每个导航控制器都将您的表格视图控制器作为第一个视图控制器。这可能看起来很浪费,但如果你仔细想想,每个选项卡确实需要有自己的控制器堆栈,所以没有其他合理的方法可以做到这一点。如果选项卡 1 上的用户在导航堆栈中的深度为 2,但选项卡 2 的深度为 7,则您不想在选项卡之间切换并失去位置。

于 2012-11-13T23:33:59.723 回答