【问题标题】:Put UIImageView with all Supported Resolutions in iOS将 UIImageView 与所有支持的分辨率放在 iOS 中
【发布时间】:2018-08-20 19:53:59
【问题描述】:

我想尝试使用 Storyboard 在我的 iOS 项目中的不同位置放置两个不同的 UIImageView。在一个分辨率下,我可以正确设置它,但如果我检查其他分辨率,那么它看起来不正确。

我确实是 iOS 应用程序开发的新手,所以会犯一些小错误。

我实际上已经以 iPhone8 Plus 分辨率制作了布局和图形,这是我在 Storyboard 中设计的页面。

按照我的设计布局,它看起来很合适,但是当我在 iPhone5s 中切换布局时,我得到了可怕的结果。 请查看下图:

据我所知,我也设置了一些限制。你可以在两张图片中看到。目前我只想担心 UIImageView 的页眉和页脚标志的缩放和定位。如果这两个 View 都解决了,那么我也会管理其他 View。

编辑:

这里有页脚约束:

@1x、@2x 和 @3x 图像资源已经存在于项目中,但根据我的想法,它没有被检测到。

在创建 UI 屏幕方面,我遵循了相反的路径。实际上我已经设计了 1080x1920 分辨率的图形,所以它是我的@3x,然后我分别为@2x 和@1x 资源减少了每个对象的大小。

请给我一些帮助。

【问题讨论】:

  • 从您的FooterViewMainFooterLogo 开始...您为这两个元素设置了什么限制?
  • 请检查朋友,我根据您的回答编辑的问题部分。
  • OK --- 你没有对FooterView 显示任何限制?
  • 在我的问题中,如果您检查最后第二张图片,那么它会向您显示页脚徽标并查看相关限制...仍然缺少任何内容,然后告诉我。
  • 这表明您的 MainFooterLogo 受约束的前导和尾随到您的 FooterView... 但没有高度或顶部/底部约束。而且,它没有显示FooterView 超级视图的任何限制。

标签: ios uiimageview uistoryboard nslayoutconstraint xcode-storyboard


【解决方案1】:

设置图片大小为 1x 并添加图片为 3x 格式,例如你的图片名称是 xyz.png 那么它将保存为 xyz@3x.png 并且 xcode 会自动在你的应用程序中使用这个图片。您只需要以 1x 计算图像的大小,将其设置为视图,一切都会正常工作。 请检查一下,如果它不起作用,请告诉我。

【讨论】:

    【解决方案2】:

    您只需要像这样为您的徽标 UIImageView 设置约束:

    对于 logo_main:

    top=20(你的值),bottom=20,leading=20,trailing=20

    对于 MainFooterLogo:

    top=0,bottom=0,leading=8,trailing=8

    并将 UIImageView 的 Content Mode 设置为 Aspect Fit:

    您的问题将得到解决,但您需要更多约束,并且可能是您的中间容器视图的 UIScrollView。

    【讨论】:

      猜你喜欢
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-22
      • 1970-01-01
      • 2011-04-07
      • 2010-12-14
      • 1970-01-01
      相关资源
      最近更新 更多