【问题标题】:Scaling UIImageView to fit screen width缩放 UIImageView 以适应屏幕宽度
【发布时间】:2012-09-13 10:33:08
【问题描述】:

我在 UIViewController 中使用 Storyboard 创建了一个 UIImageView

我正在尝试重新缩放图像的宽度以适应屏幕宽度并按比例重新缩放高度:

[fImage setImage:[UIImage imageNamed: @"f2345.jpeg"]];
[fImage sizeToFit];
fImage.contentMode = UIViewContentModeScaleAspectFit;
CGRect frame = filmImage.frame;
frame.size.width = [[UIScreen mainScreen] bounds].size.width;
// Alternative way to do the similar thing - gives the same result in my case
// frame.size.width = [[UIScreen mainScreen] applicationFrame].size.width;
fImage.frame = frame;

然后它会显示一个缩放的图像,但它适合其他一些区域,并且我的图像周围有一个空白。

【问题讨论】:

    标签: objective-c uiimageview


    【解决方案1】:

    尝试使用此代码:

    float imgFactor = frame.size.height / frame.size.width;
    frame.size.width = [[UIScreen mainScreen] bounds].size.width;
    frame.size.height = frame.size.width * imgFactor;
    

    【讨论】:

    • 效果很好,谢谢!我仍然不明白为什么你提供的 get 在我的情况下有效,你能解释一下吗?
    • 原因是您正在定义视图的框架;这样做会破坏您在界面生成器中设置的任何自动缩放;所以,如果你修改框架,最好根据你想要的修改它。我所做的是将宽度设置为全尺寸,然后以保持比例不变的方式计算高度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 2016-01-17
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    相关资源
    最近更新 更多