【问题标题】:UIImageView content mode not scaling down imageUIImageView 内容模式不缩小图像
【发布时间】:2015-08-17 21:14:24
【问题描述】:

我正在尝试将大型 UIImage 加载到 UIImageView 中,而无需先重新缩放图像。

这是我目前拥有的(self.mediaView 是我的 UIImageView):

self.mediaView.contentMode = UIViewContentModeScaleAspectFit;
self.mediaView.clipsToBounds = YES;
[self.mediaView setFrame:self.view.bounds];
NSLog(@"screen dimensions: %f x %f", _screenWidth, _screenHeight);
NSLog(@"frame size: %f x %f", self.mediaView.frame.size.width, self.mediaView.frame.size.height);
NSLog(@"image dimensions: %f x %f", self.selectedMedia.getView.image.size.width, self.selectedMedia.getView.image.size.height);
[self.mediaView setImage:self.selectedMedia.getView.image];

从我的日志中,我知道以下内容:

screen dimensions: 320.000000 x 568.000000
frame size: 320.000000 x 460.000000
image dimensions: 1136.000000 x 852.000000

但是当 UIImageView 加载时,UIImage 被切断,所以我可以看出 UIImage 没有正确缩放。

关于如何解决此问题的任何提示?

【问题讨论】:

  • 您的代码似乎是正确的,所以问题可能出在使用视图调试器检查图像视图是否超出了屏幕边界,以及您在哪里运行此方法?
  • @Or.Ron 我根据您的建议尝试了视图调试器。当我选择 imageView 时,尺寸是 320 x 460。但是当我点击“显示点击的内容”时,我可以看到图像仍然是 1136x852

标签: ios objective-c uiimageview uiimage


【解决方案1】:

我必须在我的故事板中设置确切的宽度和高度限制(使用自动布局),以确保 imageView 将被限制为特定大小)。

【讨论】:

    【解决方案2】:

    “图像尺寸:1136.000000 x 852.000000”是什么意思?

    我有两种理解。

    1. 原图尺寸:1136.000000 x 852.000000
    2. [self.mediaView setImage:self.selectedMedia.getView.image] 已调用,图片尺寸:1136.000000 x 852.000000

    【讨论】:

      猜你喜欢
      • 2018-01-22
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 2015-03-06
      • 2019-04-04
      • 1970-01-01
      相关资源
      最近更新 更多