0

我有一个使用 NSLayoutConstraints 的自定义/子类 UITableViewCell。最左边的 UIImageView 可能会或可能不会填充图像,如果没有,该字段右侧的对象自然会向左移动。在自定义 UITableViewCell 中运行良好,但是我将使用自定义 UITableViewController 填充内容。不幸的是,下面的代码将使用图像填充每一行 cell.dispatchedView ——尽管我被困在没有用任何东西填充行的情况下。

这与 dequeueReusableCellWithIdentifier 有关。想法?

static NSString *CellIdentifier = @"CellIdentifier";


- (void)viewDidLoad {
    [super viewDidLoad];

    [self.tableView registerClass:[NXGActiveUnitsCell class] forCellReuseIdentifier:CellIdentifier];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {

    NSDictionary *item = [self.model.dataSource objectAtIndex:indexPath.row];

    NXGActiveUnitsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    if([[[item objectForKey:@"cfs_no"] clean] length] > 0) {
        cell.dispatchedView.image = [UIImage imageNamed:@"p.png"];
        NSLog(@">>>%@",[item objectForKey:@"cfs_no"] );
    } else {
        NSLog(@">>> i got nothing so I should not touch this row...");
    }

    cell.departmentIconView.image = [UIImage imageNamed:@"f.png"];
    cell.unitLabel.text = [item valueForKey:@"unit_id"];

    return cell;
}
4

1 回答 1

2

我不知道这是否已经解决了您的问题,但您绝对应该设置

cell.dispatchedView.image = nil;

在其他情况下,因为单元格被重复使用。

于 2013-08-17T18:56:40.337 回答