我想要一个分段的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部分中的2行1行和第3部分中的5行。
我希望有人可以帮助我。如果您有疑问,请询问。
感谢。
编辑:我从我的网站上获取了我的信息,因此阵列每天都在变化。答案 0 :(得分: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!)
答案 1 :(得分: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];
}
答案 2 :(得分:-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
}