LoginSignup
5
5

More than 5 years have passed since last update.

AutoLayoutで2つのコンポーネント間の距離を指定したい

Last updated at Posted at 2016-02-07

問題

相対位置を指定したい部品が基準設定のところに出てこない。なぜだ。
スクリーンショット 2016-02-07 11.18.20.png

どうしてこうなったか

単純に、コンポーネント同士が重なってたのがいけなかったみたいです。
考えてみればそりゃそうだなあ。
相対位置を設定できるのは同じ階層の部品だけでした。

ImageViewがViewControllerを覆い尽くしていますが、ImageViewの下にButtonを置きたかったので、無理やりImageViewの上に置いていました。
スクリーンショット 2016-02-07 11.44.46.png

プレビューでは、(横の位置はどうあれ)ちゃんとImageViewと重ならずに表示されているので、一応これでもできるのかな〜なんて思ってましたが、相対位置を指定するのはさすがに無理でした。
スクリーンショット 2016-02-07 11.47.26.png

要するに、ImageViewが600×600のViewControllerを埋め尽くして、ImageViewの上以外にButtonを置けなくしているのが悪い。

解決策

よし直すぞ〜
600×600のViewControllerを選択して、野球のホームベース的ボタンを押して
Simulated Metrics > Size で使いたいサイズをポチッ

スクリーンショット 2016-02-07 11.21.01.png

ViewControllerのサイズが変わってImageViewもはみ出さなくなりました。わーい。

スクリーンショット 2016-02-07 11.23.59.png

そこでもう一回Buttonを選択してConstraintsの基準設定を見てみると...
ImageViewがあった!
スクリーンショット 2016-02-07 11.25.30.png

ふう、できたできた。

5
5
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
5