iPad上的奇怪约束行为

时间:2015-01-16 00:38:47

标签: ios ipad xcode6 autolayout constraints

我尝试做一件简单的事情并得到一个奇怪的结果。

我有一个内部有一个UIImageView的UIViewController

Views

我设置了跟随

之类的约束

constraints

我得到以下结果

enter image description here

我的问题是

  1. 为什么我在左侧和右侧填充?要删除该填充,我必须使用-20而不是-16的约束,然后是帧x - 4.

  2. 为什么垂直空间自动监视(顶部空间)-20

  3. 有人之前有这种行为,现在该如何解决?

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

    提前致谢,

    Eike

1 个答案:

答案 0 :(得分:4)

问题在于您已将约束与superview的边距相关联。如果你想要到达超级视图的边缘,你需要连接到超级视图本身(常量为零)。

注意" margin"在约束描述中:

enter image description here

连接到边距的问题是,您不知道应用程序运行时的边距。这是一个冒险的策略。但是你确实知道视图的边缘在哪里,所以如果你想匹配它们,约束它们,而不是边缘。只有在您真正想要匹配边距时才使用边距,无论它们是什么。例如,具有常量0到边距的约束保证了超视图边缘的良好空间。但你不想要任何空间!