在 iOS6 中,我使用自动布局。
- 我以编程方式创建了 2 个视图 v1 和 v2。
- v2 作为子视图添加到 v1
- v1 的约束已经以编程方式创建(此处未显示)。
- 我希望 v1 和 v2 具有相同的大小,并且我希望将 v2 放置在 v1 的顶部,完全匹配水平和垂直中心,以便 v2 正好位于 v1 的顶部
问题:
- 我怎样才能做到这一点(最好使用视觉格式,如果不可能的话,你可以建议替代方法)?
代码- 下面给出了我的尝试,但它没有提供所需的输出。- 没有抛出错误。V1 放置正确,但 V2 是 V1 的左手角之一
注意 - 我在下面的评论中解释了我想要做什么。
[v1 addSubView:v2];
v1.translatesAutoresizingMaskIntoConstraints = NO;
v2.translatesAutoresizingMaskIntoConstraints = NO;
NSDictionary *viewDictionary = NSDictionaryOfVariableBindings(v1,
v2);
//I wanted v1 and v2 to be of the same height and wanted the center Y to be aligned together
NSArray *horizontalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:[v2(==v1)]"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:viewDictionary];
//I wanted v1 and v2 to be of the same height and wanted the center X to be aligned together
NSArray *verticalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[v2(==v1)]"
options:NSLayoutFormatAlignAllCenterX
metrics:nil
views:viewDictionary];
[v1 addConstraints:horizontalConstraints];
[v1 addConstraints:verticalConstraints];