如何调整UIImageView的大小以适应底层图像而不移动它?

时间:2010-06-08 18:10:06

标签: iphone resize uiimageview

我有一个UIImageView,它在加载图像之前设置的帧对于图像总是太大,所以当我尝试绕过角落时,没有任何反应。

如何调整框架的大小,使其与底层图像的大小相同,同时确保UIImageView的中心点不会改变?

2 个答案:

答案 0 :(得分:13)

如果更改UIView的边界,中心将不会改变。

CGRect bounds;

bounds.origin = CGPointZero;
bounds.size = newImage.size;

imageView.bounds = bounds;
imageView.image = newImage;

答案 1 :(得分:2)

尝试以下几行...未经测试

CGSize imageSize = image.Size;
CGPoint oldCenter = imageView.center;

// now do some calculations to calculate the new frame size
CGRect rect = CGRectMake(0, 0, imageSize.width, imageSize.height);
imageView.frame = rect;
imageView.center = oldCenter;