0

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

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

我正在考虑使用隐藏选项卡的 TabViewController,但想在这里寻求更好的解决方案。

4

1 回答 1

0

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

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

于 2013-06-08T21:32:04.573 回答