【发布时间】:2012-05-30 16:59:59
【问题描述】:
我正在使用 SDWebImage 从 youtube JSON Web 服务下载缩略图,以便将它们设置在表格视图单元格中。问题是下载图像是 120x90,对我的需要来说太大了,因为我想把它放在 75x75 的 UIImageView 中。虽然图像缓存在占位符中,但它们看起来是正确的,但是一旦缓存完成,它们就会以 120x90 的比例大小显示。我试过setContentMode:UIViewContentModeScaleToFill,但还是不行,所以不知道怎么解决。
NSString *path= [thumbnail valueForKey:@"sqDefault"];
[cell.imageView setImageWithURL:[NSURL URLWithString:path] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
[cell.imageView setContentMode:UIViewContentModeScaleToFill];
CALayer * l = [cell.imageView layer];
[l setMasksToBounds:YES];
[l setCornerRadius:5.0];
非常感谢
已编辑:
我在自定义单元格扩展类中设置了内容模式:
newsCell.m
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
[self.Image setContentMode:UIViewContentModeScaleToFill];
}
return self;
}
这里是单元格创建代码:
多媒体.m
newsCell *cell = [self.tableView
dequeueReusableCellWithIdentifier:@"news"];
if (cell == nil) {
cell = [[newsCell alloc] initWithStyle:UITableViewCellSelectionStyleNone reuseIdentifier:@"news"];
}
问题是 if (cell == nil) 永远不会被调用,因为第一个语句正在创建单元格,因此不会调用 initWithStyle 并且未设置内容模式,但是如果我删除第一个语句,则不会创建单元格。我不知道如何管理它。
谢谢
【问题讨论】:
标签: objective-c ios5