iPad 上的奇怪约束行为

Strange constraints behaviour on iPad

我尝试做一件最简单的事情,结果却很奇怪。

我有一个 UIViewController,里面有一个 UIImageView

我设置了如下约束

我得到以下结果

我的问题是

  1. 为什么我的左右两边都有填充?要删除该填充,我必须使用来自 -20 而不是 -16 的约束,但随后是框架 x - 4。

  2. 为什么垂直space到superview(topspace)自动-20

有没有人以前有过这种行为,现在怎么解决?

https://github.com/eikebartels/iPadTest https://github.com/eikebartels/iPadTest.git

提前致谢,

艾克

问题是您已将约束连接到父视图的 边距。如果你想到达超级视图的边缘,你需要连接到超级视图本身(常数为零)。

注意约束说明中的单词"margin":

连接到边距的问题是您不知道应用程序运行时边距是多少。这是一个冒险的策略。但是您确实知道视图的边缘在哪里,所以如果您想要匹配它们,请限制为 它们,而不是边缘。仅当您确实想要匹配边距时才使用边距,无论它们是什么。例如,边距常数为 0 的约束保证了父视图边缘的漂亮 space。但是你不想要任何 space!