Ios 在swift中以编程方式在两个视图之间添加垂直间距
我有这些视图,它们都是相同的,我想以编程的方式添加它们,所以我想以编程的方式添加约束,我已经设法使用storyboard做了同样的事情,但我想使用代码来实现这一点 我想给这些视图添加边距,这样第一个在顶部,下一个在第一个下面,所以 我写过这样的代码:Ios 在swift中以编程方式在两个视图之间添加垂直间距,ios,swift,uiview,constraints,nslayoutconstraint,Ios,Swift,Uiview,Constraints,Nslayoutconstraint,我有这些视图,它们都是相同的,我想以编程的方式添加它们,所以我想以编程的方式添加约束,我已经设法使用storyboard做了同样的事情,但我想使用代码来实现这一点 我想给这些视图添加边距,这样第一个在顶部,下一个在第一个下面,所以 我写过这样的代码: self.view.addConstraint( NSLayoutConstraint( item: secondView, attribute: .Top, relatedBy: .Equ
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,
属性:。底部,这帮了我我弄明白了,我刚刚意识到第二个“属性”属性是干什么的,现在我知道了:))谢谢,我已经弄明白了,但这是正确的答案,所以当我能够将这个答案标记为正确答案时,我发现使用可视化格式在代码中绘制约束更容易,这里有一个很好的指南。。。