第一个可见的UITableView行在加载时不显示数据...但是在滚动时执行

时间:2013-05-27 23:11:35

标签: ios uitableview

我有一个UITable,显示来自Web服务的10个最新图像。每行都有自己的图像。当UITable首次加载到viewcontroller中时,它不会显示行中的前4个图像(屏幕为空白)。如果我向下滚动最后6个图像出现....然后如果我向后滚动前4个图像,那里最初出现并且所有内容都看起来像我最初想要的那样。我的猜测是细胞重复使用的方式。

这是我的tableView代码:

- (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];
        cell.selectionStyle = UITableViewCellSelectionStyleBlue;
    }
    [cell.contentView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
    [cell.contentView addSubview:[self.photoList objectAtIndex:indexPath.row]];
    return cell;
} 

2 个答案:

答案 0 :(得分:0)

解决了我的问题是在我的方法中添加以下行来处理从Web API流式传输照片:

[_tableView reloadData];

答案 1 :(得分:0)

我注意到,如果我在故事板上的表视图中向上或向下移动了表视图单元,这也改变了不可见行的位置。所以我通过将Table View Cell设置为隐藏来解决问题。