设备与模拟器上的UILabel位置不一致

时间:2015-02-02 20:44:51

标签: ios iphone storyboard autolayout

我在iPhone 4和iOS模拟器(4S)上测试我的应用程序。标签定位在模拟器上很好,但在设备上显示不正确。

4S Simulator iPhone 4

我在标签上使用以下约束:

enter image description here

可能导致这种情况发生的原因是什么?

2 个答案:

答案 0 :(得分:1)

您遇到了一些冲突的约束。让我们逐步执行您对标签应用的规则:

Align Center X to Superview

这只是将超级视图的中心X与标签的中心X对齐。这里没问题。

Bottom space to: SIGN UP <= 50

此约束适用规则&#34;使我的标签底部距离SIGNUP大约50个点。&#34;

问题在于您的上一个约束:

Top Space to: Top Layout Guide >= 5

此约束添加了以下规则:标签的顶部空间必须至少距离顶部布局指南5个点。

自动布局识别它不可能同时满足底部空间和顶部空间约束,因此它会破坏您的底部约束,从而导致不良行为。

您的上限约束仍然有效,因为在这种情况下,顶部布局指南之间的空格大于5.

尝试将顶部布局约束设为&lt; =,或降低标签的内容抗压优先级。

答案 1 :(得分:0)

答案就在于你的约束。

它表明顶部空间可以大于或等于5.底部空间可以小于或等于50.这就是它显示这种行为的原因。

在我的建议中编辑约束:

Top Space equal to 5
Bottom Space less than or equal to 50
相关问题