iOS 7与iOS 8约束的大小不同

MiM*_*iMo 3 objective-c interface-builder ios ios7 ios8

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

例如,我在8pts的UIButton上设置了一个非常简单的尾随约束.在iOS7和iOS8模拟器上运行时,这些8pts的位置看起来非常不同.iOS8模拟器似乎为约束添加了几点.好像需要Constraint Delta的功能......

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

iOS 8 IOS 7 Interface Builder

mat*_*att 7

原因是iOS 8具有布局边距而iOS 7没有.您已经在标签的边缘和超级视图的边距之间进行了约束- 但在iOS 7中没有边距.因此,为了与两者兼容,运行时必须做一些事情.所以它在iOS 7中将边距视为零,这就是它们的原因,因为它们根本不存在.