Interface Builder でこれを行うことはできないと思いますが、コードで制約を作成することで非常に簡単に行うことができます。
あなたの最初の方程式は、まさに私が制約を表現する方法です。2 番目の式は機能するかもしれませんが、原点を幅に関連付けるのは奇妙です。それらは異なる量です。代わりに、innerView の右側を outerView の右側に固定します。
NSLayoutAttributeTrailing
の代わりに属性を使用するNSLayoutAttributeRight
ため、RTL をローカライズするとインターフェイスが適切に反転します。
// innerView.width = outerView.width * 0.5
NSLayoutConstraint *widthConstraint = [NSLayoutConstraint constraintWithItem:innerView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:outerView
attribute:NSLayoutAttributeWidth
multiplier:0.5
constant:0];
// innerView.trailing = outerView.trailing
NSLayoutConstraint *rightConstraint = [NSLayoutConstraint constraintWithItem:innerView
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:outerView
attribute:NSLayoutAttributeTrailing
multiplier:1.0
constant:0];
[outerView addConstraints:@[widthConstraint, rightConstraint]];