在两个表视图中加载数据+分段控制_ ios

时间:2015-02-04 14:28:25

标签: ios objective-c uitableview uiviewcontroller uisegmentedcontrol

我正在使用目标c开发一个应用程序来列出表视图中的数据。

现在,在其中一个视图中,我有一个视图控制器,里面有一个分段控件和两个表视图。我想在不同的表视图中加载不同的数据。

让我们将表视图调用为视图1和视图2

但是我只有一个UIViewController类来加载数据。视图控制器中默认加载了视图1,并且在分段视图控件上,视图被隐藏和显示。一旦分割了视图控件,我就会在两个视图中重新加载表格。

这是代码: 细分视图操作:

- (IBAction)MESegmentValueChanged:(UISegmentedControl *)sender {
    switch (sender.selectedSegmentIndex) {
        case 0:
            self.EventTableView.hidden=NO;
            self.MeTableView.hidden =YES;
            [self.EventTableView reloadData];
            break;
        case 1:
            self.EventTableView.hidden =YES;
            self.MeTableView.hidden =NO;
            [self.MeTableView reloadData];
            break;
        default:
//            self.EventTableView.hidden=NO;
//            self.MeTableView.hidden =YES;
//            [self.MeTableView reloadData];

            break;
    }  

表格视图cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    NSLog(@"%@",tableView);
    if (tableView==self.MeTableView) {
      // load data in view 2
        return cell1;
    }
    else if (tableView==self.EventTableView)  {
    //load data in view 1
       return cell1;
    }
    else{
       // load data in view 1
        return cell1;
    }
}

1 个答案:

答案 0 :(得分:0)

使用标签解决您的问题:

if (tableView.tag == 1)
{
  ....
  return cell;
}
else if (tableView.tag == 2)
{
  ....
  return cell;
}

不要忘记在故事板或代码中设置标记索引。