【发布时间】:2015-02-07 14:27:21
【问题描述】:
我的视图控制器中有一个嵌套视图,当我将前导和尾随(到超级视图)约束设置为 0 时,子视图跨越超级视图的左右边缘,在两侧留下边距。如何在不在约束中添加负值的情况下删除此边距?
【问题讨论】:
标签: ios uiview autolayout margin
我的视图控制器中有一个嵌套视图,当我将前导和尾随(到超级视图)约束设置为 0 时,子视图跨越超级视图的左右边缘,在两侧留下边距。如何在不在约束中添加负值的情况下删除此边距?
【问题讨论】:
标签: ios uiview autolayout margin
假设您使用的是 Xcode 6...
在设置有关边距的自动布局约束时要记住两点:
Xcode 默认新的约束包括边距。您可以在“固定”菜单上找到它 - 有一个默认为“限制到边距”的复选框:
在上面的截图中,左右约束都包含边距。取消选中此框将显示不包括边距的点距离:
您可以通过选择约束并访问尺寸检查器(右侧面板中的第 5 个图标,或 Command+Option+5)并编辑与边距相关的部分来调整约束以不包括边距。访问下拉菜单并取消选择“相对于保证金”选项:
请注意,常量值本身将保持不变,但对象会调整,不再考虑边距。
最后,我还没有找到关闭此行为的方法。我希望默认情况下不对边距设置约束,但据我所知,Xcode 6.1.1 没有改变这种行为的方法。
【讨论】: