代码之家  ›  专栏  ›  技术社区  ›  Mikhail

Xcode 6 beta 7:故事板在左右两侧增加了额外的空间

  •  43
  • Mikhail  · 技术社区  · 11 年前

    当我将子视图添加到根ViewController的视图中,并将自动布局设置leadingSpace、trailingSpace、topSpace和bottomSpace设置为零时,左侧和右侧会出现一些额外的空间(因此,如果我打印子视图的框架,其原点将为16,32上的大小将小于应有的大小)。 所以实际上我们得到前导和尾随空格不是零。。。

    enter image description here

    正如你在图片上看到的,前导空格为零,但原点为x=16

    早些时候,我没有努力学习自动布局,所以我的问题是: 是新Xcode的bug还是功能?

    P.S.更新了所有框架和约束。

    1 回复  |  直到 5 年前
        1
  •  120
  •   rob mayoff    11 年前

    iOS 8增加了 “content margins” UIView 这个 “What's New in Cocoa Touch” video from WWDC 2014 讨论了从大约12m30开始的内容边距(标题为“自适应边距”)。

    默认边距为每边8点。布局约束的每一端都可以相对于视图的边距,而不是相对于视图的真实边(使用“文件”>“快速打开”转到 NSLayoutAttribute 查看可能性)。

    您的约束是相对于边距的。使用“添加新约束”弹出窗口创建约束时,可以选择其是否为相对边距:

    constraint-popover

    它总是默认为相对边距;如果不希望它们是相对于边距的,那么每次添加约束时都必须关闭该复选框。

    在屏幕快照的快速编辑弹出窗口中,您无法更改约束是否相对于边距。相反,双击约束以显示其完整的属性检查器。在那里,您可以使用弹出菜单为约束的每一端选择是否相对边距:

    constraint-attributes