0

調べてみましたが、この質問に対する答えが見つかりませんでした。重複している場合は、元の質問を教えてください。削除します。そして、私は自動レイアウトを使い始めたばかりなので、私の質問が根本的な誤解から生じている場合は、お知らせください!

件名の見出しが巧みに示しているように、向きに関係なく、iPad の画面の 3 分の 2 の位置に何かを設定したいと考えています。ポイントで設定した場合、たとえば横向きビューで下から 250 ポイント上に設定すると、縦向きビューで下から 250 ポイント上になると、奇妙で​​下に見えすぎます。しかし、縦向きビューで下から 400 ポイント上に設定すると、横向きビューでは奇妙に見え、高すぎます。「画面の2/3」またはそのような他の比例距離に制約を設定する方法はありますか?

4

1 に答える 1

2

はい、constrainWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant: メソッドで乗数引数を使用してこれを行うことができます。このようなものが機能するはずだと思います。ラベルの下部から IB で作成されたビューの下部までの制約に接続する IBOutlet (私の例では conBottom) が必要です。また、ラベル (私の例では myLabel) への IBOutlet も必要です。

    [self.view removeConstraint:conBottom];
    conBottom = [NSLayoutConstraint constraintWithItem:myLabel attribute:NSLayoutAttributeBottom relatedBy:0 toItem:self.view attribute:NSLayoutAttributeBottom multiplier:0.66 constant:0];
    [self.view addConstraint:conBottom];

左側と上部の属性値は 0 になるため、ビューの下部または右側への制約がある場合にのみこれを行うことができることに注意してください。

于 2013-01-16T16:59:16.800 に答える