创建垂直间距自动布局约束

时间:2013-09-03 15:10:14

标签: ios objective-c autolayout

我有一个自动布局约束,它附加了标签栏上方的视图。具体情况并不重要,它运作正常。

NSDictionary *views = @{@"view":self.collectionSelectionContainer, @"bottomLayoutGuide":self.bottomLayoutGuide};
NSDictionary *metrics = @{@"offset":@(tabBarHeight)};
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[view]-offset-[bottomLayoutGuide]" options:0 metrics:metrics views:views]];

但是,我想使用其他方法创建此约束:

[NSLayoutConstraint constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:]

我尝试了各种各样的方法。谁能告诉我怎么样?

由于

1 个答案:

答案 0 :(得分:2)

我想我可以从constraintsWithVisualFormat检查NSLayoutConstraint返回的数组!这实际上是一个很好的方法来解决它,然后从那里构建方法:

答案是:

self.collectionSelectionBottomConstraint = [NSLayoutConstraint constraintWithItem:self.bottomLayoutGuide attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.collectionSelectionContainer attribute:NSLayoutAttributeBottom multiplier:1 constant:tabBarHeight];
[self.view addConstraint:self.collectionSelectionBottomConstraint];

我认为我以前不成功的原因是我作为乘数传递0。