ios6 - 使用自动布局强制 UIImageView 大小

标签 ios6 autolayout

我正在开发一个仅针对 iOS 6 的应用程序,并且我将 nib 文件用于 UI(而不是 Storyboard)。

我在 View Controller 中有一个 View ,其中包含一个 UIImageView 作为 subview 。我需要 Retina 3.5 和 Retina 4 屏幕上的图像大小为 320x320。

我开始在 IB 中设计具有 Retina 4 Full Screen 大小的 View 。我已将 UIImageView 放在我的 View 中并将其大小设置为 320x320。然后我将 ImageView 的高度固定到等于 320 的约束。此时约束更改为用户约束(即它是蓝色而不是紫色)。

影响 ImageView 的其他约束是:

  • 尾随空间:Superview 为 0
  • 领先空间:Superview 为 0
  • Top Space to: Superview is 0

  • 所以没有定义底部空间: super View 约束。

    现在,如果我将 View 的大小(在模拟指标中)切换到 Retina 3.5 全屏,就会出现问题。

    当我这样做时, ImageView 的高度约束变为紫色和 232。

    我不知道如何解决这个问题。我希望高度保持在 320。我认为这会受到底部空间的影响:约束,但鉴于没有任何定义,为什么 ImageView 的高度会发生变化?

    提前致谢!

    最佳答案

    刚刚创建了一个测试项目来重新创建您的场景。我没有遇到任何困难。请参阅下面的屏幕截图,了解模拟指标 Retina 3.5"和 Retina 4"。

    顺便说一句,我知道这不是答案,但它确实允许我包含屏幕抓取。

    如您所见,图像大小在 Xcode 中保持在 320 x 320。它在模拟器上也可以正常工作。顶部、前导和尾随约束均为零。没有指定底部约束。

    让我觉得你一定有别的事情发生?你能张贴一张你的 Xcode 窗口吗?

    enter image description here

    enter image description here

    关于ios6 - 使用自动布局强制 UIImageView 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13971950/

    相关文章:

    iphone - 即使使用自动布局,在 4 英寸屏幕上创建的布局在 3.5 英寸屏幕上也会变得困惑

    ios - 在运行时更改 AutoLayout 约束

    ios - UITableView(VC内部),所有设备尺寸的约束?

    objective-c - upSideDown iPhone 方向在 iOS 6 中不起作用?

    ios - 从 IOS 中的 Storyboard访问 View 时出现错误的帧值

    ios - Google Analytics 集成不适用于 iOS 应用程序

    ios - 自动布局 - 中间有 5 个按钮

    objective-c - 如何在堆栈 View 中设置容器的高度?

    ios - UIStackView 水平压缩/拥抱问题。需要最终项目拉伸(stretch)以填充剩余宽度,但如果其他项目较大,则不要压缩

    ios - 从 UITextField 导航到 UITextView