如何将2个tableviews添加到单个UIViewController中?

时间:2016-07-02 19:58:29

标签: ios xcode swift uitableview uiviewcontroller

我想知道如何将2个单独的 TableView添加到单个View控制器中。

我的目标是拥有一个tableview,一个动态样式(一个可以从数据源读取)然后再拥有另一个(这个在动态下面)并且是一个静态样式< / strong>即可。这样,静态的一个可以用作UI容器来保存内容视图。此内容视图将填充图形或图表等内容。

Here is a mockup of what I want to achieve

我尝试创建一个UIViewController,然后将2个单独的1个TableView添加到该父UIViewController,然后我将其中一个动态和一个静态。问题是我收到错误“错误:非法配置:静态表视图仅在嵌入UITableViewController实例时有效。”但是我无法弄清楚如何在父UITableViewController中添加两个TableView。

感谢任何反馈!

2 个答案:

答案 0 :(得分:0)

  1. 创建一个UIViewController,它是

    的委托

    UITableViewDelegate,UITableViewDataSource

    故事板中此视图控制器的2个uitableviews

    ViewController.h文件中的UITableViews的2个IBOutlet如下:

  2. @property(非原子,弱)IBOutlet UITableView * tableView1;

    @property(非原子,弱)IBOutlet UITableView * tableView2;

    将IBOutlets连接到这些。

    在.m文件中添加tableview的委托函数,如下所示:

     - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
     {
        // Return the number of rows in the section.
        if(tableView == self.tableView1){
            return whatever1;
        }
    
        if(tableView == self.tableView2){
            return whatever2;
        }
     }
    

答案 1 :(得分:0)

  

静态表视图仅在嵌入UITableViewController实例时有效。&#34;但是我无法弄清楚如何在父UITableViewController中添加两个TableView。

你不是。您使用具有两个子表视图控制器的普通视图控制器,每个控制器都有自己的表。换句话说,使用嵌入式(子)视图控制器:

> check B (B 3)
True
> check C A
False

使用容器视图可以直接在故事板中进行配置。