1

我想要一个分段的 UITableView 但我不知道如何,我的情况:

我有 2 个数组

数组日期(“12/08/13”、“13/08/13”、“17/08/13”)数组计数(“2”、“1”、“5”)

计数表示该部分中有多少行。

我有

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return [dateArray objectAtIndex:section];
}

但是如何在第一节中制作2行,在第二节中制作1行,在第三节中制作5行。

我希望有一个人可以帮助我。如果你有问题,只是问。

谢谢。

编辑:我从我的网站获取我的信息,所以数组每天都在变化。

4

3 回答 3

2
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // length of your section count array:
    return [sectionCountArray count];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section            
{
    // the section count from your array, converted to an integer:
    return [sectionCountArray[section] integerValue];
}

更新:从您的评论看来,您有一个“平面”数据源数组。由于每个部分的行号从零开始,因此您必须根据行号和所有先前部分的部分计数来计算数组的索引cellForRowAtIndexPath

NSInteger flatIndex = indexPath.row;
for (NSInteger sec = 0; sec < indexPath.section; sec++)
    flatIndex += [tableView numberOfRowsInSection:sec];

cell.textLabel.text = yourFlatDataArray[flatIndex]; // (Just an example!)
于 2013-09-12T07:50:01.877 回答
1

您返回部分的数量numberOfSectionsInTableView:

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
      return [self.countArray count];
 }

然后从数组中获取数字并将其返回numberOfRowsInSection:

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section            
 {
      NSNumber *count = [self.countArray objectAtIndex:section];

      return [count integerValue];
 }
于 2013-09-12T07:51:43.143 回答
-1

您需要覆盖以下 UITableView 数据源方法:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  if (section == 0)
    return 2
  else if (section == 1)
    return 1
  else (section == 2)
    return 5
}
于 2013-09-12T07:37:42.097 回答