ポートレートモードではビューを垂直方向に中央に配置し、ランドスケープモードでは右に移動する必要があります (たとえば、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 制約を破棄する必要がありますか?