在多个嵌入视图之上设计视图

时间:2013-06-08 19:34:07

标签: ios storyboard

我的任务是设计一个应用程序,它具有一个始终可见的主视图(它的底部有一个按钮,当按下图像显示在所有视图的顶部时),还有一组TableControllerView应该是出现在它下面,用户需要能够浏览它们。

我知道您可以将视图嵌入到另一个视图中,但是您不能将多个视图引用到该视图中。我正在尝试做的当前方式现在在嵌入视图中加载一个TableViewController,当用户单击该单元格时,我手动加载另一个控制器并将其添加为主视图的子项,即RootViewController。这种方法的问题是导航栏使用根视图控制器卡住了,所以我必须在每个子视图转换上操作主导航项,其次是我加载的第二个视图的帧即将到来,因为它已满大小,使一些单元格在主视图按钮下。这种方式不会使用segue进行转换,因此它会使故事板变得毫无用处。

我正在考虑使用隐藏了它的Tab的TabViewController,但是想在这里询问更好的解决方案。

1 个答案:

答案 0 :(得分:0)

正如您所发现的,TableViewController喜欢填满整个屏幕(除了导航栏,标签栏,状态栏等,这些都是官方Cocoa Touch GUI)。当您希望表视图仅填充屏幕的一部分时,您应该使用UITableView而不是UITableViewController。您将自定义视图控制器对象(UIViewController的子类,而不是UITableViewController)设置为表视图委托和数据源。您需要在自定义视图控制器中复制UITableViewController的部分功能,但它不仅仅是您必须提供数据。

您应该遵循标准设计模式,并为用户可以导航到的每个“页面”分别设置视图控制器对象。你只需要一个主按钮和图像。但我可以想象为什么那可能不会给你你想要的效果。