UITabBarController和UINavigationController设计建议

3
这更像是一道哲学问题,所以请告诉我你的想法。
iPhone SDK文档规定,您可以将选项卡栏控制器包含在导航控制器中,但不能将导航控制器包含在选项卡栏控制器中。有时候您可能希望以表格形式组织导航控制器堆栈中的视图。这个想法是否合理?
我认为苹果在这些方面的规定是最佳实践,似乎揭示了最少阻力的路径(我相信也有例外情况)。但在选项卡栏的情况下,我不确定其设计理由。也许对其他人来说很明显,但我想不出为什么不允许选项卡作为除根级别视图控制器之外的任何东西。
你们都怎么看/知道?这会产生什么设计缺陷?如何解决在视图内部想要表格化呈现的问题?我需要重新考虑整个设计吗?
谢谢。
3个回答

1

从设计角度来看,我能理解他们的想法。选项卡感觉是固定的、恒定的,而导航栏则感觉是动态的和可变的。因此,包含动态内容的选项卡是有意义的,而包含选项卡栏的导航堆栈中的单个位置,固定在屏幕底部,就不太合适了。Three20 的实现方式更加合理,将选项卡锚定在导航栏下方,使它们更像是导航堆栈中的一部分。

话虽如此,如果我没记错的话,Tweetie 使用自己的选项卡栏,没有使用 UITabbarController 来规避 UI 指南中的这个细节,从交互角度来看完全可行。


1
简短的回答是,在导航控制器中允许UITabBars会让用户感到困惑。应用程序肯定不会像大多数用户所期望的那样运行。但是,这只是UITabBar,而不是选项卡设计概念。在我的设计意见中,导航控制器内的选项卡应该放在顶部,而不是底部,就像UITabBar一样。
有几种不同的方法可以实现这一点。
我通过在表视图中的第一行使用分段选择器来实现在导航器视图控制器中的“选项卡”(请参见应用商店上的HangTime应用程序)。我认为它运作得相当好,但它们并不是真正的“选项卡”。
编写Facebook应用程序的Joe Hewitt解决了这个问题,他创建了自己的“选项卡”视图和控制器,尽管它的呈现方式与UITabBar非常不同。该元素可通过Three20框架和开源库获得。请查看: http://github.com/joehewitt/three20/tree/master

0

我认为如果使用tab bar控制器,它应该是应用程序中主要的导航点。如果一个导航控制器包含一个tab控制器,那么当你导航到其他地方时,选项卡会切换,这可能会让用户感到困惑,因为他们习惯在其他应用程序中以常规方式使用它们。我认为这是一个很酷的想法,但是苹果可能不会感觉相同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接