滚动时,tableview内的UIImageView改变帧位置

时间:2013-12-09 00:57:38

标签: objective-c uitableview uiimageview

我正在做一个Instagram,就像有一个表格视图,其单元格包含一个UIImageView。当第一次正确定位图像视图时,但在滚动到下一个单元格后,图像视图的帧Y原点从0移动到15像素。我已经尝试将框架强制到正确位置而没有成功。这是我的cellForRowAtIndexPath:代码。

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


    MITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:kMITableViewCellID];
    MIPhoto *photo = [self.fetchedResultController objectAtIndexPath:indexPath];

    if (!photo.imageData) {
        if (self.tableView.dragging == NO && self.tableView.decelerating == NO) {
            [self startDownloadImage:photo forIndexPath:indexPath];
        }
        cell.imageView.image = [UIImage imageNamed:@"ImageViewBackGround.png"];
    } else {

        cell.imageView.image = [UIImage imageWithData:photo.imageData];
    }

    return cell;
}

以下是具有正确和不正确的单元格布局的screeshots

正确的布局屏幕: https://www.dropbox.com/s/t3r7w2wp6k8kot4/Photo%2008-12-13%2022%2046%2055.png

错误的布局屏幕: https://www.dropbox.com/s/na7cb4a8shwc6mf/Photo%2008-12-13%2022%2047%2008.png

1 个答案:

答案 0 :(得分:0)

解决了以编程方式将单元格的contentView框架设置为所需值的问题。

编辑:我试图弄清楚为什么单元格的内容视图改变了它的框架,我发现layoutSubViews方法似乎是一个错误,因为当我的自定义调用此方法时会发生错误{ {1}}子类。