ios:storyboard + tabbar +更多按钮(设计)

时间:2012-11-13 23:25:58

标签: ios storyboard

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

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

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

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

如果我可以使用我的应用程序并嵌入标签视图控制器或者我是否可以调整我所拥有的内容,我感到很困惑。

现在,由于所有选项卡基本相同(一个向下钻取到详细视图的表),我只需在切换选项卡时从其他文件重新加载数据。很干净。

如果我切换到标签视图控制器概念,那么创建5个具有5个表视图的导航控制器似乎很浪费,这些视图可以深入查看5个详细视图。再加上如果我想要7?还是9? (我确实意识到(或猜测)我可以为每个5个视图提供相同的类名,但UI仍然有很多故事板......)

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

1 个答案:

答案 0 :(得分:0)

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

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