LoginSignup
5
4

More than 5 years have passed since last update.

アスペクト比を維持してView内いっぱいに拡大するViewをstoryboardだけで作成する

Posted at

なんのこっちゃ?

図で説明すると、以下のような感じ。
hoge.png
白Viewのsubviewとして黄色Viewが配置されているものとします。
そして...

  • 黄色Viewが白Viewの中央
  • 黄色Viewは常に指定のアスペクト比を維持(図では4:3)
  • 黄色Viewが、白Viewの長辺・短辺どちらか最初に接する方までいっぱいに広がる

...そんなViewが作りたかったのです。

(Androidアプリの経験がある方なら「ImageViewでandroid:scaleType="fitCenter"を指定した感じ」と言えば伝わるでしょうか)

storyboardでの設定

黄色Viewに付与した制約は、以下のようになります。
storyboard.png

ポイントは以下の通り。

  • Equal Widthの制約とEqual Heightの制約両方に、=0≦0の2種類の制約をつける
  • Equal Widthの制約とEqual Heightの制約を全て優先度を下げる(図ではhighに設定)

これだけです。
参考になれば幸いです。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4