如何在 iPad 的视图控制器中创建多个表格视图?

Posted

技术标签:

【中文标题】如何在 iPad 的视图控制器中创建多个表格视图?【英文标题】:How to create multiple table view in a View Controller for iPad? 【发布时间】:2010-10-11 14:56:49 【问题描述】:

我正在使用通用应用程序。现在我想在 iPAD 的视图控制器中创建三个表视图。我有三个带有 XIB 的独立视图控制器。那么如何将另外两个表视图添加为主控制器中的子视图。请给我一些示例应用程序和链接。在我的应用程序中,我有三个视图控制器并添加一个子视图作为表视图(不是 UITableViewController)。单击第一个表视图数据时,它导航到第二个表并单击第二个表视图数据,它导航到第三个表视图。

 Hierarchy:

   MainViewController:
     --SubTableView1 
     --SubTableView2 

见下图,

请帮帮我。

谢谢!!

【问题讨论】:

【参考方案1】:

我用two TableViews on one view 写了一个例子。在我的代码中,每个 TableView 都有自己的控制器,因为我可以避免在我的委托方法中使用 if else 块,因为这会导致高度和不必要的耦合。 这些代码非常粗糙,因为我是初学者,当时我写的。即我没有在其中使用属性。 TableViews 本身可以通过 Interface Builder 添加到它们的超级视图中。

【讨论】:

谢谢,这真的很有帮助!它帮助我找到了代码中的错误,即我在 init 方法中而不是在 viewDidLoad 中设置了委托和数据源。在 init 方法中设置它们是行不通的。 我刚刚下载来看的很棒的项目。非常感谢你!我想知道是否可以有两个表视图,两个数据源但一个控制器。你怎么看? ** 编辑:现在看,您似乎在单个视图的控制器中定义了两个控制器。我更喜欢这样,而不是仅仅将不同的代码添加到一个视图中以获得多个视图,很好的实现! 我看不出有什么问题【参考方案2】:

表格视图只是您可以使用的视图。它不必 1:1 绑定到视图控制器,但如果不是,则需要设置拥有屏幕的自定义单视图控制器,然后让它拥有所有三个表视图作为子视图。您需要注意哪个对象是每个视图的委托和数据源,并在提供单元格等方面做正确的事情。如果同一个控制器是所有表视图的委托/数据源,则必须切换委托方法在每个上做正确的事情。

【讨论】:

【参考方案3】:

我刚刚完成了我的应用程序的一部分,并且能够在一个 ipad 显示器中制作多个表格视图。

但功劳归于另一个 *** 问题解决团队。阅读本文,我能够确定真正的问题,这给了我答案的根源。根本原因问题与使用单独的控制器管理 TableView 的数据源和委托有关......您需要仔细阅读答案。我做到了,我的应用程序现在运行良好。

这里是项目:UITableView issue when using separate delegate/dataSource

【讨论】:

以上是关于如何在 iPad 的视图控制器中创建多个表格视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何在标题视图 iOS 中创建故事板布局多个视图?

具有多个表视图的 Ipad 设计

在关闭视图 iAds 在 ios 5 ipad 中变为黑色。(深黑色)

如何在 Swift iOS 中创建一个通用的弹出视图控制器

在表格视图中选择项目后无法关闭弹出框

如何填充表格视图,而不是表格视图控制器?