gpt4 book ai didi

ios - 具有动态高度的表格 View 单元格

转载 作者:行者123 更新时间:2023-11-29 02:01:44 25 4
gpt4 key购买 nike

希望您能帮我解决这个问题。

我有一个表格 View ,单元格有图像,单元格的高度取决于图像。我使用 SDWebImage 来管理图像的下载。为了获取图像,我在 cellForRowAtIndexPath 中使用这句话:

[cell.imageView func_crossdissolveFromURL:imageURL];

函数 func_crossdissolveFromURL 如下:

- (void)func_crossdissolveFromURL:(NSString *)urlString {
[self.activityIndicator stopAnimating];
[self.downloadOperation cancel];

if (!urlString) {
return;
}

UIImage *memImage = [[SDImageCache sharedImageCache] imageFromMemoryCacheForKey:urlString];
if (memImage) {
[self _crossdisolve:memImage cacheType:SDImageCacheTypeMemory];
return;
}

[self.activityIndicator startAnimating];
SDWebImageManager *manager = [SDWebImageManager sharedManager];
__weak UIImageView *wself = self;
id<SDWebImageOperation> operation = [manager downloadWithURL:[NSURL URLWithString:urlString]
options:SDWebImageAllowInvalidSSLCertificates
progress:nil
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
[self.activityIndicator stopAnimating];
if (!wself) return;
dispatch_main_sync_safe(^{
if (!wself || !image) return;
[self _crossdisolve:image cacheType:cacheType];
});
}];
self.downloadOperation = operation;
}

最后调用的_crossdissolve函数是这样的:

- (void)_crossdisolve:(UIImage *)image cacheType:(SDImageCacheType)cacheType {
CGFloat duration = (cacheType == SDImageCacheTypeMemory) ? 0 : 0.25f;
[UIView transitionWithView:self
duration:duration
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
self.image = image;
}
completion:^(BOOL finished) {
[self setNeedsLayout];
}];
}

那么,我怎样才能让每个单元格具有内容图像的高度呢?提前致谢。

最佳答案

你需要两件事:

  1. 设置单元格高度为自动:self.tableView.rowHeight = UITableViewAutomaticDimension;
  2. 使用自动布局定义单元格的高度

要在显示后更改单元格的高度,您可以重新加载单元格。

关于ios - 具有动态高度的表格 View 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288671/

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