Swiftで遊ぼう! - 288 - Autolayoutの実習6 細かい調整
Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide
質問 : Swiftで遊ぼう! - 252 - FaceViewプロジェクト始動 - Swiftで遊ぼう! on Hatena
UIImageViewに実際のイメージ「lifel8」をロード(アトリビュート・インスペクタのImageから選択)している状態です。
ここで下段に並ぶオートレイアウト・ボタンの左から3番目、「Resolve Auto Layout Issues」の「Update Frames」を選ぶと*1、実際の位置に動きます。
上部のフィールドやラベルに重なってしまいました。これはイメージと上にあるオブジェクトの位置関係の決まり事(コンストレイント)を設定していないからです。
ためらわず、Undo(Cmd + z)して元にもどいてイメージを「Ctrl + ドラッグ」して、上部になる「login」ボタンでリリース*2して、ポップアップメニューから「Vertical Spacing」を選びます。
垂直にあるオレンジラインをダブルクリックするとマジック・ナンバーが現れるので「Use Standard Value」を選びます。再びUpdate Framesをします。
ちゃんとレイアウトは収まりがよいように見えます。
しかし、右上には黄色い警告サインがありクリックすると「8 views are vertically ambiguous」というメッセージが現れるだろう*3。
具体的な情報を知るためにすることは?
ドキュメント・アウトラインを見ることです。
ここにレイアウト上の問題点が列挙されます。
Hugging PriorityとかCompression Resistance Priorityという項目が並んでいますね。
明日説明します。