【发布时间】:2018-04-03 01:22:14
【问题描述】:
我有一个简单的自定义单元格,其中有一个 UIImageView 从互联网加载图片如下
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"shopifyCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
NSDictionary *dict = [_shopifyCollections objectAtIndex:indexPath.row];
// Configure the cell...
//[cell.textLabel setText:[NSString stringWithFormat:@"%@", [dict objectForKey:@"description"]]];
NSURL *url = [[NSURL alloc]initWithString:[dict objectForKey:@"imageUrl"]];
NSData *data =[NSData dataWithContentsOfURL:url];
cell.imageView.image = [UIImage imageWithData:data];
return cell;
问题是它显示得非常小(大约 0.5cmx0.5cm),但是如果我在同一部 iPhone 上的 safari 中打开相同的链接,它会显示得更大。
我尝试在情节提要中调整 UIImage 的大小并调整自动布局约束,但它没有效果,所以我必须在这里遗漏一些东西。
如何控制自定义单元格中 UIImageView 的大小,使其成为我想要的与同一图像的 Web 视图更相似的大小?
编辑***
我尝试如下添加 contentMode 但没有任何变化
NSURL *url = [[NSURL alloc]initWithString:[dict objectForKey:@"imageUrl"]];
NSData *data =[NSData dataWithContentsOfURL:url];
cell.imageView.contentMode = UIViewContentModeScaleAspectFill;
cell.imageView.image = [UIImage imageWithData:data];
编辑 2 ***
修复了一些没有映射正确单元格的错误,现在可以水平而不是垂直工作,为什么我现在可以在 X 方向而不是 Y 方向缩放它?
NSURL *url = [[NSURL alloc]initWithString:[dict objectForKey:@"imageUrl"]];
NSData *data =[NSData dataWithContentsOfURL:url];
cell.shopifyCellMainImage.contentMode = UIViewContentModeScaleAspectFill;
cell.shopifyCellMainImage.image = [UIImage imageWithData:data];
【问题讨论】:
-
使用 UIViewContentMode 属性。
-
好的,但具体如何?
标签: ios objective-c uitableview uiimageview uiimage