gpt4 book ai didi

iphone - 改变高度时按比例调整 UIImageView 的宽度

转载 作者:行者123 更新时间:2023-11-28 17:39:10 26 4
gpt4 key购买 nike

我有以下代码:

UIImageView * imgView = [[UIImageView alloc] initWithImage:image];

NSLog(@"IMAGE SIZE WIDTH IS %f AND HEIGHT IS %f", imgView.frame.size.width, imgView.frame.size.height);

[imgView setUserInteractionEnabled:YES];
[imgView setContentMode:UIViewContentModeScaleAspectFit];

CGRect frame = imgView.frame;
frame.size.width = SCREEN_WIDTH_PORTRAIT;
[imgView setFrame: frame];

但是,这个view的高度并没有相应的改变,有什么问题吗?

最佳答案

您是在告诉 View 的内容进行缩放,而不是 View 本身。为此,您必须同时设置宽度和高度。

但是,如果您只是想随着方向的变化进行缩放,您可以使用 UIViewAutoresizingMask 并像这样设置它:

imgView.autoresizingMask = UIViewAutoresizingFlexibleWidth| UIViewAutoresizingFlexibleHeight;

这将使它在自动切换方向时拉伸(stretch)。

编辑:以下是您将如何更改高度并保持比例,并为新帧设置动画:

CGRect frame = imgView.frame;
float ratio = frame.size.width/SCREEN_WIDTH_PORTRAIT;
frame.size.width = SCREEN_WIDTH_PORTRAIT;
frame.size.height *= ratio;
[UIView animateWithDuration:.25 animations:^{
[imgView setFrame: frame];
}];

关于iphone - 改变高度时按比例调整 UIImageView 的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8847100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com