我需要一个视图在纵向模式下垂直居中并在横向模式下向右移动(比如 150 像素)。
我尝试设置一些约束,但似乎无法确定:
[myImage addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(577@700)-[contentView]-(257@800)-|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(contentView)]];
NSLayoutConstraint *myConstraint = [NSLayoutConstraint constraintWithItem:contentView
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:myImage
attribute:NSLayoutAttributeCenterX
multiplier:1.0
constant:-1];
myConstraint.priority = 700;
[myImage addConstraint:myConstraint];
这适用于横向模式,但不适用于纵向。在纵向中,左侧约束 (570@700) 失败,然后左侧约束可以成功 (257@800) 并且中心 X 永远不会实现。我需要第一组(570@700 和 257@800)都失败,以便它可以诉诸中心 X 约束。
还是我应该放弃 centerX 约束?