在 swift 中以编程方式在两个视图之间添加垂直间距
Adding Vertical Spacing between two views programmatically in swift
我有这些视图,它们是相同的,我想以编程方式添加它们,所以我想以编程方式添加约束,我已经设法使用情节提要来做同样的事情,但我想为此使用代码。
我想为这些视图添加边距,以便第一个在顶部,下一个在第一个下面,因此,
我写过这样的代码:
self.view.addConstraint(
NSLayoutConstraint(
item: secondView,
attribute: .Top,
relatedBy: .Equal,
toItem: firstView,
attribute: .Top,
multiplier: 1.0,
constant: 0
))
第一个视图有约束,其中 toItem
是当前视图控制器并且它可以工作,但是第二个视图不能这样工作,它只是将它绘制在第一个视图之上,我希望它在它下面,我唯一能做到的是 constant: 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(
item: secondView,
attribute: .Top,
relatedBy: .Equal,
toItem: firstView,
attribute: .Top,
multiplier: 1.0,
constant: 0
))
第一个视图有约束,其中 toItem
是当前视图控制器并且它可以工作,但是第二个视图不能这样工作,它只是将它绘制在第一个视图之上,我希望它在它下面,我唯一能做到的是 constant: 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
))
常数是距离。