单击一个单元格,图像大小发生变化
Posted
技术标签:
【中文标题】单击一个单元格,图像大小发生变化【英文标题】:Click on a cell, the image size changed 【发布时间】:2013-12-06 08:12:49 【问题描述】:我正在将图像视图大小设置为固定。我在storybard中设置了约束,约束是正确的。但是在我从网络服务加载一些图像后,当我单击单元格时,一些图像改变了它的大小,而有些则没有。我已将图像视图 contentMode 设置为宽高比合适。如何使图像自动调整大小以适合图像视图,并且我不必单击单元格来使其大小调整以适合?
cellForRow:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifier = @"Cell";
LocalCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (!cell)
cell = [[LocalCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
NSString *photoReference = [self.restaurants[indexPath.row][@"photos"] objectAtIndex:0][@"photo_reference"];
NSString *photo = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/photo?maxwidth=80&photoreference=%@&sensor=true&key=%@", photoReference, AppKey];
cell.name.text = self.restaurants[indexPath.row][@"name"];
cell.desc.text = self.restaurants[indexPath.row][@"vicinity"];
[cell.imageView setImageWithURL:[NSURL URLWithString:photo] placeholderImage:[UIImage imageNamed:@"placeholder"]];
return cell;
【问题讨论】:
嗨。请也显示您的didSelectRowAtIndexPath:
方法。
您能否提供一张显示在您的 UIImageView 之外的图像的屏幕截图?
尝试将 clipsToBounds 设置为 YES;
【参考方案1】:
将您的 UIImageView clipsToBounds 属性设置为 YES,如下所示
[yourImageView clipsToBounds:YES];
【讨论】:
【参考方案2】:我刚刚想通了:
- (void)layoutSubviews
[super layoutSubviews];
self.imageView.frame = CGRectMake(15, 15, 80, 50);
self.imageView.contentMode = UIViewContentModeScaleAspectFit;
【讨论】:
以上是关于单击一个单元格,图像大小发生变化的主要内容,如果未能解决你的问题,请参考以下文章
重新加载单元格高度变化的单元格时,UITableView 滚动到顶部
当集合视图大小发生变化时,我需要帮助为 UICollectionView 单元格大小设置动画
当边界 UICollectionView 更改时调整单元格大小