如何在iOS中更改单元格图像的大小

时间:2014-03-25 16:08:25

标签: ios cocoa-touch cocoa uiimageview cgrect

我有一个带图像的单元格。我试图以编程方式更改单元格中图像的大小:

cell.myImage.image = [UIImage imageNamed:@"my_icon"];
CGSize size = CGSizeMake(10, 10);
[self imageWithImage:cell.goalTypeImage.image scaledToSize:size];

大小的图像如下所示:

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

    return newImage;
}

我也试过这个不起作用:

cell.myImage.frame = CGRectMake(
cell.myImage.frame.origin.x,
cell.myImage.frame.origin.y, 50, 50);
cell.myImage.image = [UIImage imageNamed:@"icon"];

有谁知道为什么图像不会改变尺寸?

2 个答案:

答案 0 :(得分:0)

您对返回的图片没有做任何事情。这应该有效:

CGSize size = CGSizeMake(10, 10);
cell.myImage.image = [self imageWithImage:cell.goalTypeImage.image scaledToSize:size];

答案 1 :(得分:0)

我认为您应该使用UITableViewCell的原生图像:

cell.imageView.image = myImage;

然后你可以调整它的大小:

cell.imageView.transform = CGAffineTransformMakeScale(widthScale, heightScale);

你有一些有趣的UITableViewCell属性,如textLabel,detailTextLabel和imageView。