iOS 7与iOS 8约束大小不同

在界面生成器中使用自动布局和约束时,我注意到当我运行iOS7和iOS8模拟器时,我得到了不同的结果和相同的约束。

例如,我在一个8位的UIButton上设置了一个非常简单的Trailing Constraint。 在iOS7和iOS8模拟器上运行时,这些8pt在放置方面看起来非常不同。 iOS8模拟器似乎给约束添加了几个点。 就好像需要约束Delta的function…

任何想法为什么约束在iOS7和iOS8上performance不同?

iOS 8IOS 7界面生成器

原因是iOS 8有版面边距,iOS 7没有。 你已经在标签的边缘和超视图边缘之间做了约束,但在iOS 7中没有边距。 因此,为了与两者兼容,运行时必须执行一些操作 。 所以它在iOS 7中将边缘视为零,这是因为它们根本不存在。