【问题标题】:Adding Vertical Spacing between two views programmatically in swift在swift中以编程方式在两个视图之间添加垂直间距
【发布时间】:2016-04-13 11:21:06
【问题描述】:

我有这些视图,两者都是相同的,我想以编程方式添加它们,所以我想以编程方式添加约束,我已经设法使用故事板做同样的事情,但我想为此使用代码。

我想为这些视图添加边距,以便第一个在顶部,下一个在第一个下方,以此类推,

我写过这样的代码:

self.view.addConstraint(
    NSLayoutConstraint(
        item: secondView,
        attribute: .Top,
        relatedBy: .Equal,
        toItem: firstView,
        attribute: .Top,
        multiplier: 1.0,
        constant: 0
    ))

第一个视图具有约束,其中toItem 是当前视图控制器并且它可以工作,但是第二个视图不能以这种方式工作,它只是将它绘制在第一个视图之上,我希望它在它之下,我能做到这一点的唯一方法是在constant: 0 输入视图的高度,我不喜欢这个

有什么建议吗?

【问题讨论】:

  • 这对我有帮助,我已经弄清楚了,我刚刚意识到第二个“属性”属性是什么,现在我知道了 :))谢谢

标签: ios swift uiview constraints nslayoutconstraint


【解决方案1】:

您提供的代码 99% 正确,但是

self.view.addConstraint(
    NSLayoutConstraint(
        item: secondView,
        attribute: .Top,
        relatedBy: .Equal,
        toItem: firstView,
        attribute: .Top,
        multiplier: 1.0,
        constant: 0
    ))

您将 secondView 的顶部附加到 firstView 的顶部,以便它们位于顶部,而不是您希望 secondView 的顶部到 firstView 的底部。

self.view.addConstraint(
    NSLayoutConstraint(
        item: secondView,
        attribute: .Top,
        relatedBy: .Equal,
        toItem: firstView,
        attribute: .Bottom,  <----------
        multiplier: 1.0,
        constant: 0
    ))

常数是距离。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-09-03
  • 2011-02-14
  • 1970-01-01
  • 2016-05-06
  • 2017-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多