我有一个带有自定义行(图像和文本)的表的视图控制器。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *simpleTableIdentifier = @"CustomRow";
CustomRow *cell = (CustomRow *)[_default dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomRow" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
x = x + 1;
trovato = [util cerca:giorno :[NSString stringWithFormat:@"%d", x]];
if ([trovato isEqualToString:@"NO"]) {
cell.pallino.image = [UIImage imageNamed:@"grigio.png"];
} else {
cell.pallino.image = [UIImage imageNamed:@"verde.png"];
}
cell.title.text = [right objectAtIndex:indexPath.row];
return cell;
}
这项工作在我第一次打开View控制器时更正了,当我点击一行时我必须打开另一个视图控制器并进行一些更改。当我带着导航栏返回时,我希望表格再次刷新图像(最重要的事情),但我不能这样做。我该怎么做????
由于
答案 0 :(得分:0)
当您从子视图返回时,您必须刷新表格视图(reloadData
),例如在viewWillAppear
函数中。
答案 1 :(得分:0)
-(void) viewWillAppear:(BOOL)animated
醇>
答案 2 :(得分:0)
您可以使用以下方式,只需在-(void)viewDidAppear:(BOOL)animated
[self.tableView reloadData];
或
[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPathOfYourCell] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
希望这会有用