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

8

我有一个UIImageView,在图片加载之前设置了它的frame,但它的大小总是比图片大,因此当我尝试将其圆角化时,什么也不会发生。

我该如何调整frame的大小,使其与底层图片大小相同,同时确保UIImageView的中心点不改变?

2个回答

13

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

CGRect bounds;

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

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

今晚我会尝试这个- 看起来很有道理。 - Steve N

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;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接