我正在尝试将子视图(200宽)置于100宽的较小超视图中。使用下面的约束,它最终在x = -100而不是x = -50。
[NSLayoutConstraint constraintsWithVisualFormat:@"H:[statusLabel(200)]"
options:NSLayoutFormatAlignAllCenterX
metrics:nil
views:viewDict];
答案 0 :(得分:0)
对齐约束(如NSLayoutFormatAlignAllCenterX)用于将多个兄弟对象相互对齐,而不是将单个对象与其超级视图对齐。要做到这一点,你需要使用......
NSLayoutConstraint *c = [NSLayoutConstraint constraintWithItem:self.outerView
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:self.innerView
attribute:NSLayoutAttributeCenterX
multiplier:1.f constant:0.f];