2016-10-18 5 views
5

this questionの回答で説明した通り、ストーリーボード上のコンポーネントのサイズを変更することで、問題の発生場所がわかります。 私は画像の通常の解像度は:353x229で、この画像はiPhone 4sの画面上で巨大に見えますので、4s画面で300x194にサイズを変更したいのですが、これはどのように行うのですか?"Vary for Traits"が期待どおりに動作しない

最初に「Vary for Traits」ボタンをクリックしてから、イメージをクリックして右側の「サイズ・インスペクタを表示」をクリックし、そこから「幅の等しい」を300に、「高さの等しい」を194に変更します「Done Varying」をクリックします。

しかし、問題は、1つのデバイスごとにイメージのサイズが変更されることです! iPadでも!なぜこれが起こっているのか分からず、どうしたらこれをやめさせるのでしょうか?

+0

特性は、特定のデバイスではなく、サイズクラスに適用されます。 Xcodeでは、特定のデバイスでシーンがどのように見えるかをシステムに表示して、制約がどのように作用しているかを確認することができます。画像のようなものでは通常、画像ビューを端に限定して、縦横比を維持することが重要であるかどうかに応じてコンテンツモードを設定します。 – Paulw11

+0

iPhone 4などの小さな機器では、 ? –

+0

イメージビューの制約を設定してイメージのサイズを制限し、イメージビューのコンテンツモードを「スケールに合わせる」または「スケールする」に設定します。また、 'clipsToBounds'をtrueに設定してください。 – Paulw11

答えて

8

これまでに考えたことがあります。しかし、他の人が同様の問題を抱えている場合は、ここで私の2セントです:

私は同じような問題に直面していました:私はiPhoneとiPadsのために異なる高さが必要でした。しかし、私はiPad上でラベルの高さを変えるたびに特性を変え、iPhoneの高さも変えました。ここで

は、私はそれを修正するためにやったことだ:

  1. は(私の場合はラベルを)オブジェクトを選択し
  2. サイズインスペクタ、変更したい制約をダブルクリックして別のデバイスの場合
  3. の定数記号の横にある+記号をクリックします。
  4. 適切な特性(私の場合は、iPadの標準的な高さ+幅)を選択し、バリエーションを追加します。
  5. ここで、Constantドロップダウンメニューの下に、対応するデバイスの異なるレイアウトが表示されます。
  6. それぞれの制約のサイズを変更できるようになりました。

変更する必要がある制約ごとにこれを行う必要があります。希望するデバイスを選択し、をクリックして、のように変化させることでも機能するはずです。しかし、私はそれがバギーだと思うので、これは同じことを達成するための代替方法です。

+0

ありがとうございました!ようやく誰かがそれを明確に説明しました! –

0

特性を変更する場合は、iphone4を選択している間、幅のボックスをオンにします。 青いボックスのすべてのデバイスは、制約が挿入されると有効になります。 iphone4sの画面幅はポートレートモードではコンパクトで、ipadは標準です。 サイズを変更するのはサイズインスペクタで行うのではなく、位置、高さ、幅の制約を追加してください。 この後、ipadのモードに戻って、特性と幅のチェックボックスを変えて選択し、別の場所をクリックする必要があります。ここでは、編集をクリックすることで、サイズインスペクタに表示される制約の位置、高さ、幅を変更します。

関連する問題