有人可以肯定地回答这个问题吗?似乎有时候改变UIImageView的框架会调整其图像的大小,有时它不会。
我已经加载了一个图像并用它创建了一个UIImageView,大小约为100x100。执行以下操作绝对没有效果:
myImageView.contentMode = UIViewContentModeScaleAspectFit;
myImageView.frame = CGRectMake(0, 0, 30, 30);
显然我想缩小图像,但它只是保持完整尺寸。
编辑:如果我这样做:
myImageView.clipsToBounds = YES;
我得到了图片的30x30剪辑,但只有它的上角。如何将整个图像缩小到30x30?
答案 0 :(得分:3)
老问题,但在我的情况下,问题是试图在" viewDidLoad"中进行修改。对于视图控制器。尝试更改" viewDidLayoutSubviews"。
中的框架- (void)viewDidLayoutSubviews
{
//do uiimageview frame changing here
...
}
答案 1 :(得分:2)
是的,你做的是正确的。像这样使用的contentMode
应该将图像大小保持在视图中并保留方面。显然,更改框架应该重新定位视图并调整其大小。
你确定没有别的东西可疑吗? myImageView
由于某种原因在这里是否为零? (如果它是界面构建器创建的视图,是连接出口的吗?)
答案 2 :(得分:1)
你认为这有用,但是到处都有人有同样的问题。我看到它工作的唯一一次不是通过自动缩放,而是实际调整大小并重新绘制图像:How to scale a UIImageView proportionally?
答案 3 :(得分:1)
答案 4 :(得分:1)
试试这个:
myImageView。 bounds = CGRectMake(0,0,30,30);
我没有幸运改变UIImageView的框架以缩放图像。请尝试更改界限。