Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在swift中以编程方式在两个视图之间添加垂直间距_Ios_Swift_Uiview_Constraints_Nslayoutconstraint - Fatal编程技术网

Ios 在swift中以编程方式在两个视图之间添加垂直间距

Ios 在swift中以编程方式在两个视图之间添加垂直间距,ios,swift,uiview,constraints,nslayoutconstraint,Ios,Swift,Uiview,Constraints,Nslayoutconstraint,我有这些视图,它们都是相同的,我想以编程的方式添加它们,所以我想以编程的方式添加约束,我已经设法使用storyboard做了同样的事情,但我想使用代码来实现这一点 我想给这些视图添加边距,这样第一个在顶部,下一个在第一个下面,所以 我写过这样的代码: self.view.addConstraint( NSLayoutConstraint( item: secondView, attribute: .Top, relatedBy: .Equ

我有这些视图,它们都是相同的,我想以编程的方式添加它们,所以我想以编程的方式添加约束,我已经设法使用storyboard做了同样的事情,但我想使用代码来实现这一点

我想给这些视图添加边距,这样第一个在顶部,下一个在第一个下面,所以

我写过这样的代码:

self.view.addConstraint(
    NSLayoutConstraint(
        item: secondView,
        attribute: .Top,
        relatedBy: .Equal,
        toItem: firstView,
        attribute: .Top,
        multiplier: 1.0,
        constant: 0
    ))
第一个视图有一个约束,其中
toItem
是当前视图控制器,它可以工作,但第二个视图不是这样工作的,它只是在第一个视图的顶部绘制,我希望它在它下面,唯一的方法是在
常量中:0
输入视图的高度,我不喜欢


有什么建议吗?

您提供的代码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
    ))
self.view.addConstraint(
NSLayoutConstraint(
项目:第二视图,
属性:。顶部,
关系人:。相等,
toItem:firstView,

属性:。底部,这帮了我我弄明白了,我刚刚意识到第二个“属性”属性是干什么的,现在我知道了:))谢谢,我已经弄明白了,但这是正确的答案,所以当我能够将这个答案标记为正确答案时,我发现使用可视化格式在代码中绘制约束更容易,这里有一个很好的指南。。。