水平左右约束
horizontal left and right constraints
我不明白如何将左右水平约束放在一起。我仍然不明白界面生成器之外的确切机制、它的约束以及在模拟器上的有效结果:
我希望标签 "ingredienti" 在我的视图中心(就像我上面的输入文本具有相同类型的约束)。为什么它在模拟预览中超出了我的 "screen"?
您必须从标签中删除左右约束,然后添加 "center-horizontally to superview" 约束。
前导或尾随约束(这是您设置的)在视图的左边缘和您关联的任何内容之间设置一个固定距离。
新通用故事板和 Xcode 中的 xib 文件中视图控制器的默认 模拟 大小为 600x600。但是 none 的当前设备实际上有这个尺寸。
因此,如果您的标签有 100 宽度,那么为了 "center" 它使用 simulated 界面构建器宽度的左右约束600,我们将创建一个 250 的左约束和一个 250 的右约束 (250 + 100 + 250 = 600)。
但同样,none 的实际设备具有此宽度。因此,如果我们 运行 您的应用在 iPhone 6 上,它的宽度将转换为 375 "points"。如果我们 运行 它在 iPhone 4s 或 iPhone 5/5s 上,它的宽度转换为 320 点。
因此,我们的 100 点宽标签是与父视图左边缘 250 点的恒定距离的约束。 250 + 100 = 350。但是iPhone 5只有320点的宽度,所以部分label超出了屏幕的边缘,由于左右约束不能同时满足,所以右约束被打破(当您 运行 应用程序时,您的日志中可能有一堆关于此的警告消息)。
如果我们希望标签居中,我们必须创建一个水平居中约束(如 所示)。
我不明白如何将左右水平约束放在一起。我仍然不明白界面生成器之外的确切机制、它的约束以及在模拟器上的有效结果:
我希望标签 "ingredienti" 在我的视图中心(就像我上面的输入文本具有相同类型的约束)。为什么它在模拟预览中超出了我的 "screen"?
您必须从标签中删除左右约束,然后添加 "center-horizontally to superview" 约束。
前导或尾随约束(这是您设置的)在视图的左边缘和您关联的任何内容之间设置一个固定距离。
新通用故事板和 Xcode 中的 xib 文件中视图控制器的默认 模拟 大小为 600x600。但是 none 的当前设备实际上有这个尺寸。
因此,如果您的标签有 100 宽度,那么为了 "center" 它使用 simulated 界面构建器宽度的左右约束600,我们将创建一个 250 的左约束和一个 250 的右约束 (250 + 100 + 250 = 600)。
但同样,none 的实际设备具有此宽度。因此,如果我们 运行 您的应用在 iPhone 6 上,它的宽度将转换为 375 "points"。如果我们 运行 它在 iPhone 4s 或 iPhone 5/5s 上,它的宽度转换为 320 点。
因此,我们的 100 点宽标签是与父视图左边缘 250 点的恒定距离的约束。 250 + 100 = 350。但是iPhone 5只有320点的宽度,所以部分label超出了屏幕的边缘,由于左右约束不能同时满足,所以右约束被打破(当您 运行 应用程序时,您的日志中可能有一堆关于此的警告消息)。
如果我们希望标签居中,我们必须创建一个水平居中约束(如