这更像是一个哲学问题,所以请给我你的想法.
This is more of a philosophical question than anything, so give me your thoughts.
iPhone SDK 文档指定您可以让标签栏控制器包含导航控制器,但您不能让导航控制器包含标签栏控制器.似乎有时您可能希望以表格方式组织视图中的视图,该视图是导航控制器堆栈的一部分.这不合理吗?
The iPhone SDK documentation specifies that you may have a tab bar controller contain a navigation controller, but you can't have a navigation controller contain a tab bar controller. It seems that there are times when you might want to organize views within a view that is part of a navigation controller stack in a tabular fashion. Is this unreasonable?
我接受 Apple 在这些领域中的规定作为福音,因为 HIG 确实提供了似乎揭示阻力最小的路径的最佳实践(我相信也有例外).但是,在标签栏的情况下,我不确定其背后的设计原因.也许这对其他人来说是显而易见的,但我想不出一个很好的理由为什么你不允许标签作为根级视图控制器之外的任何东西.
I accept what Apple dictates in these areas as gospel as the HIG does provide best practices that seem to reveal the path of least resistance (I'm sure there are exceptions to that). In the tab bar case, however, I'm not sure the design reasoning behind it. Maybe it's obvious to others, but I can't think of a good reason why you wouldn't allow tabs as anything but a root level view controller.
你们都怎么想/知道的?这会造成什么设计缺陷?您将如何解决希望在视图中以表格形式表示视图的问题?我需要重新考虑整个设计吗?
What do you all think/know? What design flaw would this create? How would you solve this problem of wanting a tabular presentation of views within a view? Do I need to re-think the entire design?
谢谢.
我可以从设计的角度了解它们的来源.标签栏感觉固定、不变,而导航栏感觉动态和可变.因此,包含动态内容的选项卡是有意义的,而在包含选项卡栏的导航堆栈的动态层次结构中,锚定在屏幕底部的单个位置感觉不正确.Three20 实现确实以更有意义的方式处理了这一点,将选项卡锚定在导航栏下方,让它们感觉更像是导航堆栈中该位置的一部分.
I can see where they are coming from, from a design perspective. Tabbars feel anchored, constant, where navbars feel dynamic and mutable. So a tab containing dynamic content makes sense, whereas a single spot in the dynamic hierarchy of a navigation stack containing a tab bar, anchored to the bottom of the screen doesn't feel as right. The Three20 implementation does handle this in a way that makes more sense, anchoring the tabs underneath the nav bar, so that they feel more like they are part of that spot in the navigation stack.
话虽如此,Tweetie 滚动它自己的标签栏,如果我没记错的话,没有 UITabbarController 来规避 UI 指南中的这个细节,它完全从交互的角度工作.
Having said that, Tweetie rolls it's own tab bar, if I remember correctly, without a UITabbarController to circumvent this detail in the UI guidelines, and it totally works from an interaction perspective.
这篇关于UITabBarController UINavigationController 设计建议的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!