UITableViewCellStyleDefault图像大小

时间:2010-04-09 23:21:14

标签: iphone

我从股票表格单元格中获得了一些奇怪的行为,或者可能并不奇怪,也许我正在做出一些假设。

我按如下方式创建单元格:

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

然后我将图像分配给默认的imageView属性。我的图像通常来自用户,因此它可能大于默认大小。为了照顾这个我:

 [cell.imageView setContentMode:UIViewContentModeScaleAspectFit];

我希望在控制范围内为我缩放图像,但实际上,图像都在地图上。

那么,有没有一种正确的方法来限制股票类型中的图像?

提前致谢!

1 个答案:

答案 0 :(得分:2)

我没有那个问题,但我正在使用:

cell.imageView.image = [[userPics objectAtIndex:indexPath.row] imageScaledToSize:CGSizeMake(44.0,44.0)]; cell.imageView.contentMode = UIViewContentModeScaleAspectFit;

使用类别方法:

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
    UIGraphicsBeginImageContext(newSize);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();        
    UIGraphicsEndImageContext();

    return [newImage retain];
}
- (UIImage *)imageScaledToSize:(CGSize)newSize {
    return [UIImage imageWithImage:self scaledToSize:newSize];
}

是的,保留看起来很可疑。