在用户从前一个屏幕中选择一个值并且导航控制器将它们弹回之后,我正在尝试更新单元格内的标签(注意,这不是单元格的标签文本。它是单元格内的另一个自定义标签)。
但是,当我调用 reloadData 时,不是清除单元格中的标签并放置新值,而是实际上堆叠在已经存在的内容之上。就像你拿了数字 200 并在上面放了一个 50。你会得到一个 0 和 5 相互叠加的奇怪网格。
关于如何调整它的任何想法?我是否必须将标签的文本重置为“”,每个视图都出现了?如果是这样,最好的方法是什么,我在 cellForRowAtIndexPath 方法中尝试过,但没有改变。
cellforRowAtIndexPath 代码
// Set up the cell...
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
// get the dictionary object
NSDictionary *dictionary = [_groups objectAtIndex:indexPath.section];
NSArray *array = [dictionary objectForKey:@"key"];
NSString *cellValue = [array objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;
//label for currently selected/saved object
_currentSetting = [[UILabel alloc] initWithFrame:CGRectMake(160, 8, 115, 25)];
[_currentSetting setFont:[UIFont systemFontOfSize:14]];
_currentSetting.backgroundColor = [UIColor clearColor];
_currentSetting.textColor = [UIColor blueColor];
_currentSetting.textAlignment = NSTextAlignmentRight;
_currentSetting.text = [NSString stringWithFormat:@""];
_currentSetting.text = [NSString stringWithFormat:@"%@ mi",[setting.val stringValue]];
[cell.contentView addSubview:_currentSetting];
return cell