以编程方式添加约束以查看相对于兄弟的视图

时间:2015-09-29 04:19:08

标签: ios objective-c constraints

我正在使用自动布局。我有一个带子视图的视图(sb1)。我以编程方式将另一个子视图(sb2)添加到此视图中。我正在为这个新的子视图添加约束。

我想要完成的事情:

在sb1下面添加sb2,在sb2的顶部添加一个约束,将其固定到sb1。

我尝试过的事情:

[self.containerView insertSubview:sb1
                     belowSubview:sb2];

NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:sb1 
                     attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual 
                     toItem:sb2 attribute:NSLayoutAttributeTop multiplier:1.0f constant:0.f];

[self.otherLeftView addConstraint:constraint];

正在发生的事情是我新添加的子视图被固定到容器视图的顶部,而不是sb1(这是我想要发生的事情)。视觉发生了什么:

enter image description here

有谁知道如何在SB1和SB2之间添加约束?谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:sb1 
                     attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual 
                     toItem:sb2 attribute:NSLayoutAttributeTop multiplier:1.0f constant:0.f];