我正在开发一个带有Tab导航的iOS应用程序。
我有两个屏幕,显示相同的信息,但格式不同(例如,列表和网格)。
这两个屏幕非常不同,它们需要单独的控制器。
用户可以从顶部的共享控件栏按钮(切换)切换两个视图。
设想情况:
用户第一次按下“places”按钮,它会将这些位置显示为列表。他们按下“网格”来查看显示为网格的相同位置。
用户按下另一个选项卡按钮以导航到另一个屏幕。当他们再次按下" places“按钮时,应用程序会记得他们最后一次看到的屏幕是网格,所以显示了网格视图。然后,用户可以切换回列表视图。等等。
有人能推荐实现这一目标的最佳方法吗?
发布于 2012-02-13 21:44:11
一种方法是使用一个视图控制器来管理两个视图。这样,你就不用费心同步数据或者颠覆UITabBarController的正常功能了--只有一个控制器。此外,不要试图重载该控制器的选项卡的含义。相反,向两个视图添加一个按钮,告诉控制器切换到另一个视图。这将使您更容易构建,(更重要的是)更容易让用户理解。让熟悉的控件执行不熟悉的操作是不太好的。
如果您的视图控制器非常复杂,那么您可以使用两个控制器,并通过修改选项卡条控制器的viewControllers
数组来交换它们。通过让两个控制器引用相同的数据模型,您仍然可以避免在它们之间同步数据。
https://stackoverflow.com/questions/9268415
复制相似问题