【问题标题】:iOS: Image auto resize for all devicesiOS:所有设备的图像自动调整大小
【发布时间】:2015-09-09 03:29:40
【问题描述】:

我正在尝试使用自动布局和大小类调整我的图像大小,但我似乎无法为 iPhone 6+ 调整它的大小,与 iPhone 4 或 5 相比,图像很小。这是我第一次使用自动布局所以我对如何做到这一点有点困惑。

【问题讨论】:

  • iPhone 6+ 的分辨率是 x3,而 iPhone 4,5 和 6 的分辨率是 x2。除非您为 UIImageView 指定点大小宽度和高度,否则在 iPhone6+ 上加载相同的图像会显得更小.所以要么提供 x2 和 x3 图像,要么提供单个图像并使用约束来缩放 UIImageView 的大小。注意缩放图像会根据原始尺寸影响其清晰度。
  • 我已经添加了 x2 和 x3,但是图像仍然很小。我已经在 xib 中指定了 x1 的图像大小,并适合宽高比。我做错了什么吗?
  • 那么,在 iPhone 4,5 上看起来不错?
  • 贴一些代码或xib图片...
  • 确保使用标准命名为图像添加标签。 MyImage@2x.pngMyImage@3x.png 并仅使用 MyImage.png 加载。然后系统应该选择正确的分辨率。

标签: ios xcode uiimageview autolayout


【解决方案1】:

对于所有 Iphone,大小类别是紧凑宽度和常规高度

所以选择这个,然后添加 4 个约束

  1. 领先
  2. 尾随
  3. 顶部
  4. 超级视图的底部

【讨论】:

  • 这正是我正在做的,但 iPhone 6+ 上的静止图像很小
  • 再次检查您的尺码等级可能是您选择了错误的尺码等级
【解决方案2】:

您可以将 childView 替换为您的 imageView....

childView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;

// vertical
childView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;

// both
childView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;

【讨论】:

  • 你好,他问的是自动布局,你的答案是 resizingMask,不一样
【解决方案3】:

您是否尝试过在 xCode 中使用预览器,它是辅助编辑器的一部分,并且可能会有所帮助。

这里有一个指南: http://www.dummies.com/how-to/content/how-to-autosize-an-image-with-auto-layout-for-your.html

【讨论】:

    【解决方案4】:

    将“比例宽度”和“比例高度”添加到超级视图,并使“中心水平”和“中心垂直”或您想要定位的任何位置。并且一旦将图像的内容模式检查为“ScaleAspectFit”或其他任何使图像更大的东西。如果您的图像尺寸较小,那么它会在内容模式“中心”上显示更小。或者为所有尺寸的设备使用大图像。确保您使用的是@2x 和@3x 图像。

    【讨论】:

      【解决方案5】:

      禁用 Size 类,然后通过 control+drag imageview 将约束添加到 superview 并添加该约束 领导 尾随 最佳 底部

      【讨论】:

        【解决方案6】:

        只需对图像视图施加约束,从所有边缘到 0。不要再添加任何约束。它会根据您使用的设备拉伸和收缩。问候

        【讨论】:

          猜你喜欢
          • 2019-06-08
          • 1970-01-01
          • 1970-01-01
          • 2016-04-07
          • 2013-03-27
          • 1970-01-01
          • 1970-01-01
          • 2019-08-23
          • 1970-01-01
          相关资源
          最近更新 更多