【发布时间】:2014-09-18 14:29:42
【问题描述】:
Xcode 6 的这个新特性有点烦人。大多数时候我不需要设置相对于边距的偏移量,如果我这样做了,我可能想要使用默认值 16 以外的值。有没有办法更改默认值或完全禁用我的项目(或所有项目)的边距我的 Xcode 中的项目)?
【问题讨论】:
标签: ios objective-c xcode autolayout
Xcode 6 的这个新特性有点烦人。大多数时候我不需要设置相对于边距的偏移量,如果我这样做了,我可能想要使用默认值 16 以外的值。有没有办法更改默认值或完全禁用我的项目(或所有项目)的边距我的 Xcode 中的项目)?
【问题讨论】:
标签: ios objective-c xcode autolayout
您不能“关闭它们”,因为它们是内置在 UIView 中的。您可以将它们设置为零:
UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.layoutMargins = UIEdgeInsetsMake(0, 0, 0,0);
但您必须为每个视图手动执行此操作。您可以通过在 init 之后设置它们来为您自己的子视图自动执行此操作,然后使用一个版本覆盖设置器,该版本会抛出任何传入的值。但是...一般来说,最好顺其自然,不要与框架抗争,所以我真的建议不要尝试关闭它们或忽略它们。
【讨论】:
只需在约束弹出窗口中按住 Option 键 (⌥) 即可在约束到边缘 VS 视图边距之间切换。简单!
在此处查看完整答案:http://blog.manbolo.com/2014/10/09/xcode-6-auto-layout-margin-annoyances
【讨论】: