与许多其他开发人员一样,我创建了使用UITabBarController
作为根控制器的iPhone项目,使用UINavigationController
的标签视图可以从列表向下钻取到详细视图。和许多其他开发人员一样,我需要将这些应用程序迁移到iPad,这样他们就可以利用更大的屏幕(更重要的是,不要强迫用户对仅限iPhone的应用程序使用丑陋的“加倍”可视化)。 / p>
Apple为这个确切的场景创建了UISplitViewController
......貌似。我说似乎是因为虽然我看到它在设置,iPod,iTunes等中使用,但这些应用程序中没有一个在UISplitViewController
内使用UITabBarController
,因为它不仅记录为不起作用,而且应用程序可以如果这两个人被迫进行猎枪婚姻,就会崩溃。
考虑所有关于动物的假设iPhone应用程序。它有三个选项卡:“类别”(动物按照一些简单的方法分类 - 也许我们有一个两级层次结构,类似“鸟”和“鱼”),“搜索”(使用标准{{1和一个UITableView
)和“故事”,这是关于动物的故事(也许有一个关于青蛙的故事,另一个关于计算机书呆子马变成了33t的独角兽)。
虽然“类别”和“搜索”是两个可以合并的标签,但是不清楚您是否可以或应该将动物的列表与故事合并这些动物。因此,虽然您可能希望在iPad上使用UISplitViewController(搜索集成在分割的“根”,左侧,侧面),您如何呈现“故事”视图?你使用分段控制器吗?上还是下?分裂的“根”或“细节”视图?或者您可能使用“主页”屏幕(如WebMD的iPad应用程序),它显示两个按钮(“类别”和“故事”),然后显示用户点击的分割视图?或者顶部或底部的工具栏?
我尝试查看其他几个应用程序,包括设置,邮件,iPod,iTunes,联系人,地图等,但它们都没有在一个应用程序中显示两种“不同”类型的信息。
这里的一般方法是什么?有没有最佳做法? iPad编程社区采用了哪些一般模式?
或者,我是否等待并指责Apple以某种方式最终允许UISearchDisplayController
工作而不要求它成为“根”? (这可能永远不会发生!)
答案 0 :(得分:6)
您可以使用UISplitViewController
并使用UITabBarController
作为主视图控制器(左侧窗格通常是列表)。
通过这种方式,您仍然可以使用选项卡并向下钻取方法,直到您阅读每只动物的详细视图(使用您的类比),然后在详细视图控制器(右侧窗格)中显示详细信息页面。
这可行,并且不会被Apple或HIG禁止。
无论如何,这是我的想法:)