gpt4 book ai didi

ios - 从 URL 加载 UIImage 时在 UITableViewCell 中设置 UIImageView 大小?

转载 作者:可可西里 更新时间:2023-11-01 03:24:33 25 4
gpt4 key购买 nike

从 URL 加载图像到 uiimage,然后将这些图像添加到 uitableviewcell uiimageview,如下代码所示。我不知道图像大小,但需要在 tableviewcell 图像中强制它们为 40x40。图像在 uitableview 中以不同的宽度不断加载。

通读与 uiimage 大小/缩放相关的其他帖子,但这些解决方案对我不起作用。我认为这是因为我使用的是 uitableviewcell 中包含的 uiimageview 而不是创建我自己的 uiimageview。

这是

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

UITableViewCell *cell = [[UITableViewCell alloc] init];

ItemForSale *item = [listOfItems objectAtIndex:indexPath.row];
cell.textLabel.text = item.name;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.textLabel.font = [UIFont systemFontOfSize:14];

NSURL *url = [NSURL URLWithString: item.imgPath];
UIImage *thumbnail = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];
if (thumbnail == nil) {
thumbnail = [UIImage imageNamed:@"noimage.png"] ;
}
cell.imageView.image = thumbnail;
cell.imageView.contentMode = UIViewContentModeScaleAspectFill;
cell.imageView.frame = CGRectMake(0, 0, 40, 40);
cell.imageView.autoresizingMask = UIViewAutoresizingNone;
cell.imageView.clipsToBounds = YES;

return cell;

}

我试过设置内容模式(尝试了 aspectfill 和 aspect fit),尝试重置框架,设置 autoresizingmask,clipTobound。一切都没有改变。

最佳答案

在 Apple 示例项目“LazyTableImages”中找到了答案

NSURL *url = [NSURL URLWithString: item.imgPath];
UIImage *thumbnail = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];
if (thumbnail == nil) {
thumbnail = [UIImage imageNamed:@"noimage.png"] ;
}
CGSize itemSize = CGSizeMake(40, 40);
UIGraphicsBeginImageContext(itemSize);
CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
[thumbnail drawInRect:imageRect];
cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return cell;

关于ios - 从 URL 加载 UIImage 时在 UITableViewCell 中设置 UIImageView 大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11847515/

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