3

コードでは、2 つのオブジェクト間に制約を設定して、それらが相対的になるようにすることができます...

[self.view addConstraint:[NSLayoutConstraint constraintWithItem:item1
                                                      attribute:NSLayoutAttributeWidth
                                                      relatedBy:NSLayoutRelationEqual
                                                         toItem:item2
                                                      attribute:NSLayoutAttributeWidth
                                                     multiplier:0.9
                                                       constant:0]];

または、彼らは一定の違いを持っ​​ています...

[self.view addConstraint:[NSLayoutConstraint constraintWithItem:item1
                                                      attribute:NSLayoutAttributeWidth
                                                      relatedBy:NSLayoutRelationEqual
                                                         toItem:item2
                                                      attribute:NSLayoutAttributeWidth
                                                     multiplier:1.0
                                                       constant:-30]];

または、同じアイテムの異なる属性を関連付けるイベント...

[self.view addConstraint:[NSLayoutConstraint constraintWithItem:item1
                                                      attribute:NSLayoutAttributeWidth
                                                      relatedBy:NSLayoutRelationEqual
                                                         toItem:item1
                                                      attribute:NSLayoutAttributeHeight
                                                     multiplier:1.0
                                                       constant:0]];

Interface Builder を使用してこれらのタイプの制約を適用することは可能ですか?

4

3 に答える 3

3

インターフェイスビルダーで可能です。問題の IB アイテムを選択し、その制約を調べます。選択して編集すると、制約の乗数設定が表示されます。

AutolayoutRelativeMultiplierInterfaceBuilder

于 2014-05-19T03:38:46.200 に答える
0

50% などのパーセンテージでも入力できることに注意してください。横の矢印を使用すると、.1 または 1% ずつ増減できます。

スーパービュー (または画像ビュー) の中心 x、y に相対的な % 乗数 (定数 0) を設定すると、最終的な位置や縮尺に関係なく、ラベルまたはテキスト フィールドがビューまたは画像内の特定の場所を追跡できるようになります。

メイン ビューを選択し、[エディタ] -> [自動レイアウトの問題を解決] -> [フレームを更新] に移動すると、制約の動作を確認できます。さまざまな要素が制約に基づいて移動します。

IB がその場で更新されることもありますが、通常はそうではありません。

于 2014-07-25T20:52:22.437 に答える