我已将图像放在UITableViewCell中,由于某种原因,图像有点模糊......
这就是我正在使用的:
NSURL *urlForProfileImage = [NSURL URLWithString: [_currentTweet[@"user"] objectForKey:@"profile_image_url_https"]];
UIImage *thumbnail = [UIImage imageWithData: [NSData dataWithContentsOfURL:urlForProfileImage]];
cell.imageView.image = thumbnail;
是否有另一种方法可以提供所需的结果但保持图像质量?
答案 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;
}