【问题标题】:I add a "align" constraint, but Xcode add a "pin" constraint autolayout我添加了一个“对齐”约束,但 Xcode 添加了一个“pin”约束自动布局
【发布时间】:2015-03-09 16:00:00
【问题描述】:

当我们添加约束时,我们可以选择自动布局工具栏中的“对齐”按钮或“固定”按钮。

在我的故事板中,如果我在滚动视图和他的容器之间添加一个新的对齐约束“底部边缘”。

此约束的图标是 2 个正方形和一条线。

但是之后,在我的滚动视图的约束列表中,图标不同了:

图标是一个“Pin”图标。

我不明白为什么。

还有一个问题,我认为它是相关的:“对齐底部”和“底部空间”有什么区别?

【问题讨论】:

    标签: xcode6 autolayout nslayoutconstraint


    【解决方案1】:

    PinAlign 只是抽象,以便更容易理解您正在设置的内容。实际上,约束是两个对象的属性之间的关系。您在 Interface Builder 中使用 align 或 pin 指定的内容将转换为 NSLayoutConstraint 对象。

    以编程方式完成时,没有 pinalign 选项,您只是指定对象及其属性(.Top.Bottom.CenterX等)、关系(.Equal.GreaterThanOrEqual.LessThanOrEqual)、常数和乘数。

    例如,这里是如何对齐两个按钮的底部:

    NSLayoutConstraint(item: button1, attribute: .Bottom, relatedBy: .Equal, toItem: button2, attribute: .Bottom, multiplier: 1.0, constant: 0.0)
    

    如果这两个对象是同级的,那么它们的底部被认为是对齐的。如果一个对象是另一个对象的子视图,则认为它是底部空间。两者都只是一个视图的.Bottom 与另一个视图的.Bottom 之间的关系。

    当您单击约束并在 Attributes Inspector 中查看它时,您会看到用于创建 NSLayoutConstraint 的值。

    【讨论】:

      猜你喜欢
      • 2015-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      相关资源
      最近更新 更多