我不明白如何将左右水平约束放在一起..我仍然不了解界面构建器之外的确切机制,它的约束以及模拟器上的有效结果:
我期待标签" ingredienti"在我的视图的中心(就像我上面的输入文本具有相同类型的约束)..为什么它超出我的"屏幕"在模拟预览?
答案 0 :(得分:3)
前导或尾随约束(这是您设置的)在视图的左边缘与您与之关联的任何内容之间设置固定距离。
新通用故事板中的视图控制器和Xcode中的xib文件的默认模拟大小为600x600。但是目前的设备都没有这个尺寸。
所以,如果你的标签有100宽度,那么为了使用左边和右边“中心”它。使用模拟接口构建器宽度为600的正确约束,我们创建一个左边约束250和一个右边约束250(250 + 100 + 250 = 600)。
但同样,实际设备都没有这个宽度。因此,如果我们在iPhone 6上运行您的应用程序,它的宽度将转换为375“点”。如果我们在iPhone 4s或iPhone 5 / 5s上运行它,它的宽度可以转换为320点。
因此,我们的100点宽标签是约束,距离父视图的左边缘有250个点的恒定距离。 250 + 100 = 350.但是iPhone 5只有320点的宽度,因此标签的一部分出现在屏幕的边缘,并且正确的约束被打破,因为左右约束不能同时满足(你可能有运行应用程序时,在日志中发出一堆警告消息。)
如果我们希望标签居中,我们必须创建一个水平中心约束(如mikle94's answer所示)。
答案 1 :(得分:2)