1. ホーム
  2. ios

[解決済み] Interface Builder の「幅と高さが等しい」制約について

2023-02-23 23:26:35

質問

Interface Builderで「正方形」制約、つまり「幅と高さが等しい」制約を作成する方法が見つかりません。プログラムでそのような制約を追加することは可能だと思います。IB で何かできることはありますか。もしかしたら、私が見ていないだけかもしれませんが。些細なことのように思えますが、私はそれを見つけることができません。

どのように解決するのですか?

Xcode 5.1b5をアップデートする。

Ctrl+ クリックしてビューからドラッグし、ポインタがビューの上にあるときに離します。アスペクト比("Aspect Ratio")を選択します。1 番目と 2 番目の項目がビューである制約が作成されます。


Xcode 5.1以前

width/heightエディタには、他のプロパティに関連付けたり、比率を設定したりするフィールドがないため、できません。

したがって、以下のようなコードはInterface Builderで表現することはできません。

CGFloat ratio = 1.0;
NSLayoutConstraint *constraint = [NSLayoutConstraint
    constraintWithItem:myView
    attribute:NSLayoutAttributeWidth
    relatedBy:NSLayoutRelationEqual
    toItem:myView
    attribute:NSLayoutAttributeHeight
    multiplier:ratio
    constant:0];
constraint.priority = 1000;
[myView.superview addConstraint:constraint];