iOS - 细胞图像模糊

时间:2014-01-01 05:07:29

标签: ios xcode uitableview

我已将图像放在UITableViewCell中,由于某种原因,图像有点模糊......

这就是我正在使用的:

NSURL *urlForProfileImage = [NSURL URLWithString: [_currentTweet[@"user"] objectForKey:@"profile_image_url_https"]];
UIImage *thumbnail = [UIImage imageWithData: [NSData dataWithContentsOfURL:urlForProfileImage]];

cell.imageView.image = thumbnail;

是否有另一种方法可以提供所需的结果但保持图像质量?

1 个答案:

答案 0 :(得分:1)

原因:

默认的imageView尺寸为40x40,因此您的图像需要为80x80像素(视网膜显示)。

但是你从“pbs.twimg.com/profile_images/192098593/Apple_normal.png”获得的图片是48x48。

所以它很模糊。

解决方案:

一个选项是添加24x24的自定义imageView。 (宽度:24&高度:24)然后您的图像将不会显示模糊。

或者,您可以尝试通过继承类UITableViewCell并使用其layoutSubviews方法来修改imageView的高度和宽度。 “技巧”是在这个方法中编写布局代码,否则代码没有任何影响:

- (void)layoutSubviews {
    [super layoutSubviews];
    self.imageView.bounds = CGRectMake(0,0,24,24);
    self.imageView.frame = CGRectMake(0,0,24,24);
    self.imageView.contentMode = UIViewContentModeScaleAspectFit;

    CGRect tmpFrame = self.textLabel.frame;
    tmpFrame.origin.x = 30;
    self.textLabel.frame = tmpFrame;

    tmpFrame = self.detailTextLabel.frame;
    tmpFrame.origin.x = 30;
    self.detailTextLabel.frame = tmpFrame;

}