iOS8中自动布局的问题

时间:2015-04-28 12:54:05

标签: ios iphone xcode ios8 autolayout

已经有一段时间了,因为我已经为iOS构建了一个应用程序,而我正在运行以解决自动布局问题。我一直在尝试添加一个小的子视图和文本字段,但在iPhone 5上他们的阵容正确,但在iPhone 6上,视图比我预期的要大得多。尺寸或比例与iPhone 5上的不匹配。

您可以通过这些示例看到我期望的内容以及我在6上实际获得的内容。

First subview constraints Second subview constraints What it ends up look like on the 6

文本字段也出现了类似的问题。在5它在正确的位置,但在6我不能让它出现在同一地点。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您正在混合和匹配宽高比和硬编码距离数。

  • 红色视图将与超视图的顶部,左侧和底部保持固定距离,并设置纵横比
  • 因此,红色视图在较大的屏幕上会更大,但比例相同
  • 白色视图与红色视图的顶部,左侧,底部和右侧边缘相距固定距离
  • 因此,在较大的屏幕上,白色视图的大小会有所不同,但不一定按比例,因为您在视图中的距离不会发生变化

如果你想让整个事物按比例缩放(对于文本字段来说这似乎很奇怪,你希望它到处都是相同的高度,那么你需要做一些像白色视图一样的东西超视图的左侧,底部和右侧,并给它一个宽高比约束。

不要忘记也可以添加到视图中的特定高度或宽度限制 - 您不必确定与超级视图相关的所有内容。

编辑器中的橙色线告诉您,您所看到的帧目前不符合您为视图选择的约束。您应该选择"更新框架"从解决问题菜单中,可以更好地了解您正在查看的内容。布局预览助手对于同时检查布局在多种屏幕尺寸中的显示方式也非常有用。