哎, 任何人都可以指导我通过这个我在表中有大约15个条目我希望另外15个在最后一个UITableViewCell中提出更多的负载。有人可以帮帮我吗?
答案 0 :(得分:19)
在tableview中显示额外的行,在
中- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return dataRows+1;
}
在
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
//after setting tableviewcell
if(indexPath.row==dataRows){
cell.textLabel.text=@"Load More Rows";
}
}
在
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row==dataRows){
//there you can write code to get next rows
}
}
您需要根据显示的行更新numberOfRows变量。
编辑:获取额外条目后,可以使用以下方法将它们添加到现有条目数组中。您的原始数组应该是NSMutableArray
才能使用此方法。
[originalEntriesArray addObjectsFromArray:extraEntriesArray];
答案 1 :(得分:8)
我写了一个这样做的示例项目。从GitHub https://github.com/Abizern/PartialTable
下载答案 2 :(得分:4)
我写了一些可能有帮助的内容:https://github.com/nmondollot/NMPaginator
它封装了分页,并且几乎可以使用page和per_page参数处理任何web服务。它还具有UITableView,可在您向下滚动时自动获取下一个结果。
答案 3 :(得分:1)
希望这会有所帮助
我接受了一个Mutable数组和一个整数变量,并将数组的总数设置为整数变量
arr = [[NSMutableArray alloc]initWithObjects:@"Radix",@"Riki", nil]; dataRows = [arr count];
然后我根据表格的数据源方法中的整数变量设置节中的行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // Return the number of rows in the section. return dataRows+1; }
因为你最后想要一个额外的单元格。
现在是时候设置表格单元格的文本了
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{ static NSString * CellIdentifier = @“Cell”;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell...
//setting the text of the cell as per Mutable array
if (indexPath.row < [arr count]) {
cell.textLabel.text = [arr objectAtIndex:indexPath.row];
}
//setting the text of the extra cell
if (indexPath.row == dataRows) {
cell.textLabel.text = @"more cells";
}
return cell;
}
现在,你需要更多单元格的单元格更多,所以只需在
中添加代码即可- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
方法,意味着你必须做这样的事情
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if(indexPath.row == dataRows) { //code for exra cells please } }
运行您的应用以检查此代码。