Xcode 6设置布局边距的默认值或禁用它们

Spa*_*ail 11 xcode objective-c ios autolayout

Xcode 6的这个新功能有点烦人.大多数时候我不需要设置相对于边距的偏移量,如果我这样做,我可能想要使用默认值16以外的值.有没有办法更改默认值或完全禁用我的项目的边距(或所有我的Xcode中的项目)?

Rog*_*Rog 3

您无法“关闭它们”,因为它们内置于 UIView 中。您可以将它们设置为零:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.layoutMargins = UIEdgeInsetsMake(0, 0, 0,0);
Run Code Online (Sandbox Code Playgroud)

但您必须为每个视图手动执行此操作。您可以通过在初始化后设置它们来自动为您自己的子视图执行此操作,然后使用抛出任何传入值的版本覆盖设置器。然而......一般来说,最好随波逐流,不要与框架对抗,所以我真的建议不要尝试关闭它们或忽略它们。