当图像加载动态行高时,uitableview表会跳转

时间:2015-09-24 13:55:03

标签: ios uitableview sdwebimage

我想实现一个动态行高的tableview。高度基于从服务器返回的图像数据。

根据设置的行高,为必须加载的图像绘制行。

但是在加载图像并将其分配到表格的图像视图后,UITableview会自动滚动到其他位置。

是因为行再次被绘制了吗?或者

桌子的偏移会受到干扰吗?

使用UIGraphicsBeginImageContextWithOptions(size,!hasAlpha,scale)缩放图像

我甚至尝试在每次配置单元格时以编程方式更改imageView的高度约束。我已经看到很多自动布局的示例使用动态高度,但似乎没有任何效果。

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    // constant to control height of other views
    return getCellHeight(indexPath.row) + someConstant
}

func getCellHeight(index: Int) -> CGFloat {
// Returns the height of image object based on some cropping and scaling
    return imageHeight
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier(CELL_IDENTIFIER, forIndexPath: indexPath) as! PostCell
    ...
    cell.configureForPost(postObject, index: indexPath.row)
    cell.postImage.sd_setImageWithURL(NSURL(string: imageUrl)
            , placeholderImage: placeholder
            , completed:{(image: UIImage!, error: NSError!, cacheType: SDImageCacheType, imageURL: NSURL!) -> Void in
                if (image != nil) {
                   // do some scaling and assign image to imageView
                }
    })}
    return cell
}

0 个答案:

没有答案