2010-04-09 105 views
1

我从股票表格单元格中收到了一些奇怪的行为,或许并不奇怪,也许我正在做一些假设。UITableViewCellStyleDefault图像大小

我创建的细胞如下:

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

然后,我将图像分配到默认ImageView的属性。我的图片通常来自用户,因此可能会大于默认大小。要照顾这个我:

[cell.imageView setContentMode:UIViewContentModeScaleAspectFit]; 

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

那么,有没有一种合适的方法来限制库存单元格中的图像?

在此先感谢!

回答

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]; 
} 

是的,保留看起来可疑。