gpt4 book ai didi

ios - 滚动时根据下载的图像高度使用 UITableViewAutomaticDimension 调整自定义表格单元格的高度

转载 作者:可可西里 更新时间:2023-11-01 06:14:00 25 4
gpt4 key购买 nike

我在运行时获取图像的 URL,然后下载这些图像并将其显示在表格中。图片正在异步下载(使用 SDWebImage)。更重要的是,我想以实际尺寸显示所有这些图像。第一次,表格加载正常,我有超过 5 个部分(每个部分包含一行),当我滚动表格并尝试使用 reloadSections 更新部分时,表格显示错误的单元格图像高度。有人可以帮我解决这个问题吗?注意:我使用的是 UITableViewAutomaticDimension

[_imageViewSharedImage sd_setImageWithURL:[NSURL URLWithString:[_popUpManager.popUpDetails valueForKey:@"photo"]] placeholderImage:[UIImage imageNamed:@"placeholderBackground"] options:SDWebImageProgressiveDownload completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL)
{
UIImage *croppedImage=[Util adjustImageSizeWhenCropping:image];
[_imageViewSharedImage setFrame:CGRectMake(_imageViewSharedImage.frame.origin.x,_imageViewSharedImage.frame.origin.y,croppedImage.size.width,croppedImage.size.height)];
[_imageViewSharedImage setImage:croppedImage];
[self setNeedsLayout];
[self updateConstraintsIfNeeded];

}];

最佳答案

使用 UITableViewAutomaticDimension 时,您必须为单元格内容 View 中的所有项目从上到下指定自动布局约束。希望你已经做到了。

并且在使用自动布局时,您应该注意不要调整框架。如果您想这样做,请使用约束。为您的 imageViewSharedImage 的高度约束和宽度约束创建一个导出,并将其常量设置为您需要的值。

_imageViewHeightConstraint.constant = croppedImage.frame.size.height;
_imageViewWidthConstraint.constant = croppedImage.frame.size.width;

然后调用layoutIfNeeded。

关于ios - 滚动时根据下载的图像高度使用 UITableViewAutomaticDimension 调整自定义表格单元格的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34016607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com