この記事はXcode 4.6.3 & iOS 6のものです。Xcode 5 & iOS 7はこちら。
http://blogios.stack3.net/archives/1330

前回はSuperviewの外枠からSubviewまでの間隔を固定するConstraintについて説明しました。他のConstraintなどを説明する前に、Auto Layoutに必要な操作を説明しておきたいと思います。

Alignの設定

AlignはSubviewを画面の中心に固定したり、複数のSubviewを右揃えで固定したりするConstraintの集合です。Subviewを選択して、メニューから対象となるContsraintを選択することで設定できます。Alignに関する詳しい解説は後ほど。

Xcodeのメニューから設定する場合

f:id:eimei23:20121231222405p:plain

Interface Builderの右下ボタンからポップアップするメニューから設定する場合

f:id:eimei23:20121231222446p:plain

Pinの設定

PinとはSuperviewの外枠からの間隔やSubviewどうしの間隔、Subview自身の幅や高さを指定するConstraintの集合です。これもメニューから対象となるConstraintを選択することで設定できます。

Xcodeのメニューから設定する場合

f:id:eimei23:20121231222943p:plain

Interface Builderの右下ボタンからポップアップするメニューから設定する場合

f:id:eimei23:20121231223056p:plain

その1で説明したLeading Space to Subview〜Bottom Space to Superviewもここから設定できます。

Size to Fit Contentの設定

UILabelのようにtextプロパティの内容によってサイズが変わるものがあります。プログラムからサイズを調整する場合は、sizeToFitメソッドやsizeThatFitsメソッドを使いますが、Auto Layoutではプログラムを書かずに自動調整する仕組みがあります。

サイズを自動調整したいSubview場合は、それを選択してメニューからSize to Fit Contentを選択します。

f:id:eimei23:20121231224113p:plain

Size to Fit ContentはConstraintではなく、WidthやHeightのConstraintを破棄するといったほうが良いでしょう。Size to Fit Contentに関しても後ほど詳しく説明します。

まずはこれらの操作を覚えましょう。次回からAlign、Pin、Size to Fit Contentの説明を行いますが、「Pin > Horizontal Spaceを選択してください」、「Align > Vertical Centersを選択してください」のように表現します。

その3へつづく