像许多其他开发人员一样,我创建了使用UITabBarController
作为根控制器,选项卡视图使用UINavigationController
从列表深入到详细视图。和许多其他开发人员一样,我需要将这些应用程序迁移到 iPad,以便它们利用更大的屏幕(更重要的是,不强迫用户对仅 iPhone 的应用程序使用丑陋的“加倍”可视化)。
苹果公司创造了UISplitViewController
对于这个确切的场景......似乎。我说似乎是因为虽然我看到它在“设置”、iPod、iTunes 等中使用,但这些应用程序都没有使用UISplitViewController
里面一个UITabBarController
,因为它不仅被记录为不起作用,而且如果这两个人被迫联姻,应用程序可能会崩溃。
假设有一个关于动物的 iPhone 应用程序。它有三个选项卡:“类别”(通过某种简单的方法对动物进行分类——也许我们有一个两级层次结构,其中有“鸟类”和“鱼”等类别)、“搜索”(使用标准UITableView
and a UISearchDisplayController
),还有“故事”,这是关于动物的故事(也许有一个关于青蛙的故事,还有一个关于电脑呆子马变成l33t独角兽的故事)。
虽然“类别”和“搜索”是两个可以合并的选项卡,但尚不清楚您是否可以或应该合并list的动物与stories关于动物。因此,虽然您可能想在 iPad 上使用 UISplitViewController(搜索集成在拆分左侧的“根”中),但如何呈现“故事”视图呢?您使用分段控制器吗?上还是下?拆分的“根”视图还是“详细”视图?或者您可能使用“主”屏幕(如 WebMD 的 iPad 应用程序),该屏幕显示两个按钮(“类别”和“故事”),然后显示用户点击的拆分视图?或者顶部或底部的工具栏?
我尝试查看其他几个应用程序,包括“设置”、“邮件”、“iPod”、“iTunes”、“通讯录”、“地图”等,但它们都没有在一个应用程序中呈现两种“不同”类型的信息。
这里的一般方法是什么?有没有最佳实践? iPad 编程社区采用了哪些通用模式?
或者我应该等待并祈祷苹果最终以某种方式允许UISplitViewController
不需要它成为“根”就可以工作? (这可能永远不会发生!)
你可以使用UISplitViewController
并有一个UITabBarController
作为主视图控制器(左侧窗格通常是一个列表)。
这样,您仍然可以使用选项卡和向下钻取方法,直到您阅读每种动物的详细视图(使用您的类比),然后在详细视图控制器(右侧窗格)中显示详细信息页面。
这是可行的,并且不受 Apple 或 HIG 的禁止。
无论如何,这就是我的想法:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)