单击 CustomTableCell 中的图像会调整大小

Images in a CustomTableCell gets resized upon click

如果没有项目,这将无法解释,因此我在 GitHub 上上传了一个小 DEMO

我不认为限制是错误的。图像应固定在其位置。最初 SDWebImage 从缓存中检索图像,但是一旦我单击图像,图像就会调整大小。 (它变小了,见上图)

有趣的是,在我的演示中,图像首先显示为红色方块。单击它们后,imageView 会调整大小并加载实际图像。这仍然显示问题。

在我看来,初始缓存没有根据约束调整大小。那是真的吗?

我试过你的代码

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
BookmarkTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:bookmarkcellIdentifier forIndexPath:indexPath];

News *news = [_news objectAtIndex:indexPath.row];
cell.headLine.text = news.headLine;

[cell.newsImage sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",news.imageUrlList]] placeholderImage:[UIImage imageNamed:@"iTagImageHolder"]];
 [cell.newsImage.layer setBorderWidth: 2.0];
[cell.newsImage.layer setBorderColor: [[UIColor blackColor] CGColor]];


return cell;
}

我得到了类似

的输出

在 storyboard I select `attributes inspectors

Autoresize subviews

这修复了它:

[cell.imageView sd_setImageWithURL:imageURL
                      placeholderImage: nil
                             completed:^(UIImage image, NSError error, SDImageCacheType cacheType, NSURL *imageURL) {
                                 [cell setNeedsLayout];
                             }];