iOS 故事板中的图像更改纵横比

Posted

技术标签:

【中文标题】iOS 故事板中的图像更改纵横比【英文标题】:Image in iOS storyboard changes aspect ratios 【发布时间】:2016-04-20 15:55:16 【问题描述】:

我非常小的应用程序有两个相同的故事板,每个故事板都包含来自同一资产目录的相同矩形位图,位于每个视图的中心。故事板被称为“启动”和“主”。

Launch 用作我的启动屏幕,Main 用作我的应用程序的第一页,因此从启动屏幕可以无缝过渡。不幸的是,这两个故事板以不同的纵横比渲染位图,所以过渡一点也不平滑。

我已经在 Interface Builder 中尝试了“View Mode”的所有不同值,但它们似乎都没有任何效果。我已经验证了两个故事板之间的每个设置都是相同的。我已经积极清理了我的派生数据目录。我试过替换其他位图。还没有成功。

我还可以尝试或研究哪些其他方法来解决此问题?

这是每个故事板中出现的图像比例。

【问题讨论】:

可以分享截图吗? 很遗憾,我不能,应用程序和图形是专有的,我的客户不允许。我可以描述它。 :0) 主屏幕正确显示图像,但启动屏幕水平拉伸图像。 您是否设置了任何约束?它们在两个故事板中是否相同? 是的,两者的约束条件相同——当前为 CenterX=CenterX 和 CenterY=CenterY-200,这会将图像定位在两个故事板上相同的上三分之一区域。我从 CenterY=CenterY 开始,但它仍然存在纵横比问题,所以我尝试移动图像以查看是否以某种方式修复了它。没有。 不幸的是,我无法“证明”任何事情,但是当我从使用 .jpg 更改为使用 .png 时,问题基本消失了。这让我怀疑 Xcode 处理启动屏幕故事板的 .jpg 文件存在错误。 【参考方案1】:

当我用 .png 文件替换 .jpg 图像时,问题就消失了,因此这似乎是 Xcode 如何处理启动故事板中的 .jpg 图像的错误。

在我们的 CI 服务器上构建会生成一个不存在问题的 .IPA。但是,在我的 Mac 上构建和部署到设备时仍然会发生这种情况——即使在进行了超级清理之后也是如此。

【讨论】:

以上是关于iOS 故事板中的图像更改纵横比的主要内容,如果未能解决你的问题,请参考以下文章

纵横比约束没有改变

iOS - 故事板中的导航控制器

如何在 ios swift 中使用故事板平均划分按钮图像?

未反映在本地化故事板中的基本故事板更改

AutoLayout约束以适应矩形内的视图,保持一定的纵横比(以编程方式)

如何更改 Xcode 故事板中的预览设备?