0

//我在屏幕上有 3 个容器。顶部/中间/底部(我在这里只添加了中间的代码)

- (void)initLayoutConstrains
{
[self initMiddleLayoutContainerConstraint];
NSMutableArray *constraints = [[NSMutableArray alloc] init];
NSDictionary *viewsDictionary =     NSDictionaryOfVariableBindings(_topContainerBar, _bottomContainerBar, _middleContainerBar);
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"|-(>=20)-[_middleContainerBar(==200)]-(>=20)-|"
                                                               options: NSLayoutFormatAlignAllCenterX | NSLayoutFormatAlignAllCenterY
                                                               metrics:nil
                                                                 views:viewsDictionary]];
4

1 回答 1

0

编辑:我没有太多时间,但这是我想出的临时解决方案:

CGFloat testViewHeight = 200;
NSDictionary *metrics = @{ @"testViewY": @(self.view.frame.size.height / 2 - testViewHeight / 2), @"testViewHeight":@(testViewHeight)};

[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-testViewY-[testView(==testViewHeight)]"
                                                                         options: kNilOptions
                                                                         metrics:metrics
                                                                           views:viewsDictionary]];

[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[testView]|" options:kNilOptions metrics:nil views:viewsDictionary]];
于 2015-09-30T08:39:47.863 回答