设置的UIImageView大小的UITableViewCell时的UIImage从URL加载?(S

2019-07-30 20:12发布

从加载URL图像转换成一个UIImage,然后加入这些图像到一个UITableViewCell的UIImageView,像下面的代码。 我不知道的图像尺寸,但需要迫使他们是tableviewcell图像的40×40。 这些图像跟上UITableView的不同宽度的装载。

通读到UIImage的大小/缩放相关的其他职位,但这些解决方案并不为我工作。 我想这是因为我使用的包含在UITableViewCell中VS创造我自己的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和方面配合),试图复位帧,设定autoresizingmask,clipTobound。 这一切没有改变的事情。

Answer 1:

找到了答案看着苹果示例项目“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;


Answer 2:

我有同样的问题,这个工作非常适合我;

选择的UIImage并转到属性检查,并检查“剪辑子视图”

请确保您有图像的大小设置限制。



Answer 3:

我当我被错误地使用电池的ImageView的财产,而不是我的UIImageView在故事板创建自定义属性有这个问题。 当我使用了适当的参考自定义视图,它的所有工作正常。 我怀疑有些人可能已经做过类似。



文章来源: Set UIImageView Size in UITableViewCell when UIImage loaded from URL?