確かに入門書などを見てみるとAutolayoutはMain.Storyboardなどを開いてinterfacebuilderで設定していくものが多いです。コードで設定する入門書はほぼないと思います。実務では複数人で開発する場合、interfacebuilderで設定すると面倒なことが起こりえます。だいたいGithubなどのバージョン管理サービスを使用するのですが、interfacebuilderとバージョン管理ツール(Gitなど)の親和性が低いことが原因で起こるコンフリクトがめっさ面倒なのです。interfacebuilderを使わずに、コードでAutolayoutを設定していくのが人気なのです!!SnapKitの導入方法SnapKitはcocoapodsで楽々導入することができます。‘SnapKit’と記述しましょう。中心に置く方法こちらの画像のように青いラベルを中心に配置したいと思います。コードはこのようになっています。{super.didReceiveMemoryWarning()}}label(autolayoutの対象).snp.makeConstraintsこちらのコードで大切な部分は、SnapKit特有の記述がされているlabel.snp.makeConstraintsからの3行のコードです!label.snp.makeConstraintsによってautolayoutを記述するスコープを作成し、その中にmakeから始まるautolayoutを記述します。make.どの項目を.どのように(何処と)のように記述するルールです。今回は、make.center(中心を).equalTo(等しく)(viewの中心と)といったように設定しました。viewはデフォルトのviewです。snapkit特有のものではありません。左から40、上から40のところに置く方法こちらのコードはこのようになっています。上と大して変化がないので、viewDidLoadないの記述だけを載せます。make.right.equalTo(view.snp.right).offset(40)123make.left.equalTo(view.snp.left).offset(40)make.right.equalTo(view.snp.right).offset(40)の2行です。make.left(左を).equalTo(等しく)(viewの左と).offset(40離して)make.right(左を).equalTo(等しく)(viewの右と).offset(40離して)みたいな感じです。offset(数)によって微調整をすることができます。これを連結していくとこのようにレイアウトを組むことができます。コードはこちらのです。inmake.right.equalTo(view.snp.right).offset(-40)make.top.equalTo(label.snp.bottom).offset(40)}}新しく追加したlabel2は右から40、上から40のところに起きました。・上を指定するときにviewからではなく、一つ上のlabelから距離を図っていること。・右を指定するときのoffsetがマイナスで指定されていることです。マイナスの理由は、原点が左上にあるためです。下から40、左右の中心こんな感じのレイアウトのコードはこちらです。見た目の変化は色だけですが、LabelではなくButtonを使用しています。使用方法はLabelとButtonは全く同じです。inmake.centerX.equalTo(view.snp.centerX)make.bottom.equalTo(view.snp.bottom).offset(-40)}}centerX新しいところはcenterXですね。これはX軸のcenter(中心)を定めるときに使用します。今回はbuttonのcenterXをviewのcenterXと同じ座標に設定しました。比率ある程度複雑なレイアウトを設定する場合、比率の計算をする必要があります。割り切ることができない「3分割」などは設定が難しいため、比率での計算が必須です。このようなレイアウトのコードはこちらです。inmake.centerY.equalTo(view.snp.centerY)make.width.equalTo(view.snp.width).dividedBy(3)make.left.equalTo(label4.snp.right)}}dividedBy()新しい部分はdividedBy()だけですね。これによって比率の計算をすることができます。widht(横幅)をviewのwidthを3分割するした値に設定という意味になります。基礎ささお3年目iOSエンジニア。スタートアップで働いておりやす。プログラミングスクールとエンジニアのキャリアを考えたい。*メールアドレス(公開はされません。簡単な自己紹介ささお2年目のiOSアプリエンジニア。プログラミングスクールに通い、プログラミングスクールで講師を経験したのち、スタートアップに就職。プログラミングスクールとエンジニアのキャリアを考えたい。普段は渋谷あたりにいます。教育に興味があります。キャリアを考えないとなぁ。ささおのTwitter初めてのフリーランスにポテパンは登録がとにかく楽。ほんとに”魅力的なお仕事が多数”かは知らないけど、最初にごちゃごちゃ記入させない感じが好き。