我希望重新加载一个部分而不是整个表格。在UITableView
中有没有相应的方法。
[tableView reloadData]
用于加载整个表格。
我想知道如何只加载一个部分,因为我的表格中有大量的行。
我希望重新加载一个部分而不是整个表格。在UITableView
中有没有相应的方法。
[tableView reloadData]
用于加载整个表格。
我想知道如何只加载一个部分,因为我的表格中有大量的行。
如果您有自定义的部分视图,可以在您的视图控制器中添加一个弱引用,并在需要时更新它。以下是我的参考代码:
@property (weak, nonatomic) UILabel *tableHeaderLabel;
....
-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UITableViewHeaderFooterView *myHeader = [[UITableViewHeaderFooterView alloc] init];
UILabel *titleLabel = [[UILabel alloc] init];
[titleLabel setFrame:CGRectMake(20, 0, 280, 20)];
[titleLabel setTextAlignment:NSTextAlignmentRight];
[titleLabel setBackgroundColor:[UIColor clearColor]];
[titleLabel setFont:[UIFont systemFontOfSize:12]];
[myHeader addSubview:titleLabel];
self.tableHeaderLabel = titleLabel; //save reference so we can update the header later
return myHeader;
}
然后稍后您可以像这样更新您的部分:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
self.tableHeaderLabel.text = [NSString stringWithFormat:@"Showing row: %ld", indexPath.row];
}