【问题标题】:UIStackView: Aspect fill image squashed issueUIStackView:方面填充图像压缩问题
【发布时间】:2018-05-18 09:16:00
【问题描述】:

我在 UIStackView 中有 4 张图像,从顶部、右侧、底部、左侧被限制为 20 点。

4 张图片设置为 Aspect Fit,UIStackView 设置设置为:均填充,间距为 20。

当我在 iPhone 8 上查看此内容时,布局有效。在 iPhone SE 布局上查看时,图像被挤压如下。

是否应该设置 Aspect Fit 来解决这个问题并相应地缩小图像?

谢谢

【问题讨论】:

  • 紫色圆圈是哪里来的?是背景色吗?那是图像吗?可以分享一下图片吗?
  • 圆圈是pdf图片,我也试过用背景色。\
  • 你能显示你把图片放在哪里的代码吗?你错过了一些东西,但很难知道什么,因为我们没有太多的信息可以继续。
  • 图片是使用接口Builder添加的,除非你想要整个XML故事板结构?
  • 您可以尝试使用 PNG 图像而不是 PDF 吗?我想知道 PDF 是否不包含正确的固有尺寸?

标签: ios swift constraints nslayoutconstraint uistackview


【解决方案1】:

为每个图像添加纵横比约束并将其设置为 1:1。这应该使图像具有相同的高度和宽度,无论屏幕的宽度如何。

不过,我同意,使用“aspect fit”应该可行。这些常规图像是存储在您的应用程序包中,还是您使用代码或类似的东西创建它们?

【讨论】:

  • 两种方法我都试过了,目前是pdf图片
  • 运行应用时 UIImageView 的大小是多少?如果您在运行应用程序时单击 XCode 中的“调试视图层次结构”,您有哪些约束,它们的值是什么?
  • 添加比率建议以及将内容拥抱设置为 749 和尾随约束适用于所有屏幕尺寸。我将不得不删除对 SE 布局的约束,但这是一个小问题。感谢您的帮助。
  • @user7684436 您根本不必更改约束或特定设备。您在这里找到了解决问题的方法...您还没有解决它。
  • 好吧,我知道我不应该这样做,但 Xcode 是一款很棒的软件——我不得不这样做。
猜你喜欢
  • 2014-10-03
  • 1970-01-01
  • 1970-01-01
  • 2021-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
相关资源
最近更新 更多