iOS8 中的自动布局问题
Problems with auto layout in iOS8
自从我为 iOS 构建应用程序以来已经有一段时间了,我 运行 正在解决自动布局问题。我一直在尝试在其中添加一个小子视图和一个文本字段,但在 iPhone 5 上它们排列正确,但在 iphone 6 上,视图比我预期的要大得多。尺寸或比例与 iPhone 5.
上的不符
您可以通过这些示例了解我的期望以及我在 6 上实际得到的结果。
文本字段也出现了类似的问题。在 5 上它在正确的位置,但是在 6 上我无法让它显示在同一个位置。
我做错了什么?
您正在混合和匹配宽高比和硬编码的距离数字。
- 红色视图将与父视图的顶部、左侧和底部保持固定距离,并具有设定的纵横比
- 因此,红色视图在更大的屏幕上会更大,但比例相同
- 白色视图与红色视图的上、左、下、右边缘的距离固定
- 因此,白色视图在较大的屏幕上会有不同的大小,但不一定按比例,因为您设置视图的距离不会改变
如果你想让整个东西按比例缩放(这对于文本字段来说似乎很奇怪,你希望它到处都是相同的高度那么你需要做一些事情,比如将白色视图固定在左边, 父视图的底部和右侧并给它一个纵横比约束。
不要忘记您还可以将特定的高度或宽度限制添加到视图中 - 您不必确定与父视图相关的所有内容。
编辑器中的橙色线条告诉您当前看到的框架与您为视图选择的约束不匹配。您应该从解决问题菜单中选择 "Update frames",以便更好地了解您正在查看的内容。布局预览助手对于同时检查您的布局在多种屏幕尺寸下的外观也非常有用。
自从我为 iOS 构建应用程序以来已经有一段时间了,我 运行 正在解决自动布局问题。我一直在尝试在其中添加一个小子视图和一个文本字段,但在 iPhone 5 上它们排列正确,但在 iphone 6 上,视图比我预期的要大得多。尺寸或比例与 iPhone 5.
上的不符您可以通过这些示例了解我的期望以及我在 6 上实际得到的结果。
文本字段也出现了类似的问题。在 5 上它在正确的位置,但是在 6 上我无法让它显示在同一个位置。
我做错了什么?
您正在混合和匹配宽高比和硬编码的距离数字。
- 红色视图将与父视图的顶部、左侧和底部保持固定距离,并具有设定的纵横比
- 因此,红色视图在更大的屏幕上会更大,但比例相同
- 白色视图与红色视图的上、左、下、右边缘的距离固定
- 因此,白色视图在较大的屏幕上会有不同的大小,但不一定按比例,因为您设置视图的距离不会改变
如果你想让整个东西按比例缩放(这对于文本字段来说似乎很奇怪,你希望它到处都是相同的高度那么你需要做一些事情,比如将白色视图固定在左边, 父视图的底部和右侧并给它一个纵横比约束。
不要忘记您还可以将特定的高度或宽度限制添加到视图中 - 您不必确定与父视图相关的所有内容。
编辑器中的橙色线条告诉您当前看到的框架与您为视图选择的约束不匹配。您应该从解决问题菜单中选择 "Update frames",以便更好地了解您正在查看的内容。布局预览助手对于同时检查您的布局在多种屏幕尺寸下的外观也非常有用。