单击 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];
}];
如果没有项目,这将无法解释,因此我在 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];
}];