SlideShare a Scribd company logo
3 Auto Layout Tips
デジタルサーカス(株)⻑⾧長⾕谷川智希
⾃自⼰己紹介
・ ⻑⾧長⾕谷川智希 / デジタルサーカス(株) 副団⻑⾧長CTO
・ 開発系趣味: iOSアプリ開発, Web開発
・ その他趣味: レンタルカートレース, 電⼦子⼯工作(mbed), …
と も き
@tomzoh
iOS
執筆中
デジタルサーカス(株)
・ Webサイト受託開発
・ スマホアプリ受託開発
・ ⾃自社サービス
(PHP, CakePHP, Drupal)
(iOS, Android)
(http://appbuilder.jp)
Twitter: @tomzoh Yo: TOMZOH
Twitter: @tomzoh Yo: TOMZOH
今⽇日のテーマ:
3 Auto Layout Tips
導⼊入
Auto Layout
・ iOS6から導⼊入されたUI部品のレイアウトの
⽅方法。
・ UI部品の位置や⼤大きさを「制約」として定義
する。
・ 右の例例の場合、以下を制約として定義して
いる。
・ 上・左・右の余⽩白

(Top / Leading / Trailing Space)
・ ⾼高さ

(Height)

なぜいまAuto Layoutの話?
・ iPhone6, 6Plus発売、画⾯面バリエーション増加。
・ Auto Layout不不可避になった。
・ 今までは使わなくてもアプリは作れたので、意外とiOS開発
経験の⻑⾧長いエンジニアほどAuto Layoutになじみが無かった
りする。
・ そんじゃ⾃自分がこれまでに得た知⾒見見をシェアしよう!
Auto Layout設定の基本
Auto Layoutの設定の基本
・ Auto Layout設定の基本はシンプル。

「要素の位置と⼤大きさを過不不⾜足なく定義する」こと。
(x, y)
(w, h)
頻出パターン
パターン1: 左右に伸びる

上と左の余⽩白(位置)

右の余⽩白と⾼高さ(⼤大きさ)
パターン2: サイズ固定

上と左の余⽩白(位置)

幅と⾼高さ(⼤大きさ)
パターン3: サイズ可変

上と左の余⽩白(位置)

右と下の余⽩白(⼤大きさ)
パターン2: サイズ固定

上と左の余⽩白(位置)

幅と⾼高さ(⼤大きさ)
パターン1: 左右に伸びる

上と左の余⽩白(位置)

右の余⽩白と⾼高さ(⼤大きさ)
パターン3: サイズ可変

上と左の余⽩白(位置)

右と下の余⽩白(⼤大きさ)
3 Auto Layout Tips
(1) Outlet経由で制約を変更更
・ 制約にはOutletを作ることができる。
・ Outlet = Interface Builder(GUI)で作ったUI部品とクラ
スプロパティを関連づける仕組み。
・ 「中に⼊入るテキストの⻑⾧長さで⾼高さが変わるUILabel」

→ UILabelの⾼高さの制約をOutletにすると便便利利。
(2) Auto Layoutのタイミング
・ Outlet経由で制約を変更更する場合、viewDidLoad(_:)ではダメ。
・ その後Auto Layoutが動作して制約ベースの場所・サイズに戻されてしまう。
・ viewDidLayoutSubviews()の中で触る。
(3) UIScrollView
・ UIScrollViewの制約はちょっと⾯面倒。
・ 2セットの制約が必要。
・ UIScrollView⾃自体の位置と⼤大きさ
・ 中のコンテンツ(右図のUIView)の位置と⼤大きさ
・ UIViewの⽅方が⼤大きければスクロールが発⽣生する。
・ 中のコンテンツは⼤大きなUIViewを作って、UIScrollViewの直
接の⼦子どもはそれだけにするのが吉。
UIView
UIScrollView画⾯面
これだけ押さえれば
Auto Layout
とりあえず使えるはず。
Enjoy Auto Layout!
ありがとうございました。
@tomzoh
2⽉月から⼀一緒に開発してくださるパートナーさん
iOS, Android各1名募集中です。

More Related Content

PDF
html5j Webプラットフォームの紹介
PPTX
カスタムコネクタ入門
PPTX
20200829 Ctrl+Alt+BとスマホタッチでPower Automateのフローを実行してみよう
PDF
第三回北海道ワトソン勉強会 Watson + IoT 丼
PPT
類似画像検索APIを作ってみた話
PDF
HTML5で作るiPhoneアプリケーション
PPTX
baserCMS勉強会@福岡 vol.3
PDF
Html5で作るiPhoneアプリケーション2010
html5j Webプラットフォームの紹介
カスタムコネクタ入門
20200829 Ctrl+Alt+BとスマホタッチでPower Automateのフローを実行してみよう
第三回北海道ワトソン勉強会 Watson + IoT 丼
類似画像検索APIを作ってみた話
HTML5で作るiPhoneアプリケーション
baserCMS勉強会@福岡 vol.3
Html5で作るiPhoneアプリケーション2010

Viewers also liked (7)

PDF
BaseViewControllerは作りたくない
PDF
第49回HTML5勉強会 Google I/O 2014サマリー
PDF
アップルのテンプレートは有害と考えられる
PPTX
サイボウズの企業風土
PDF
各アプリケーションの概要(クラウド版)
PDF
各アプリケーションの概要(パッケージ版)
PDF
DeNAにおける機械学習・深層学習活用
BaseViewControllerは作りたくない
第49回HTML5勉強会 Google I/O 2014サマリー
アップルのテンプレートは有害と考えられる
サイボウズの企業風土
各アプリケーションの概要(クラウド版)
各アプリケーションの概要(パッケージ版)
DeNAにおける機械学習・深層学習活用
Ad

Similar to 3 auto layout tips (9)

PDF
きちんと理解できるiOS開発〜Auto Layout編
PDF
Auto Layout Tips
PDF
Outlayout ios2開発会議20150528
PDF
DevIO Auto Layout 道場スライド
PPTX
130624 auto layout
PDF
マルチデバイスに対応するためのAuto layout
PDF
Autolayoutを使って、画面レイアウトを作成してみよう
PDF
使うっきゃない!iOS9で楽になったAuto Layout!
PDF
使うっきゃない!iOS9で楽になったAuto Layout!
きちんと理解できるiOS開発〜Auto Layout編
Auto Layout Tips
Outlayout ios2開発会議20150528
DevIO Auto Layout 道場スライド
130624 auto layout
マルチデバイスに対応するためのAuto layout
Autolayoutを使って、画面レイアウトを作成してみよう
使うっきゃない!iOS9で楽になったAuto Layout!
使うっきゃない!iOS9で楽になったAuto Layout!
Ad

More from Tomoki Hasegawa (20)

PDF
Reading php terminal-gameboy-emulator
PDF
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
PDF
とある受託ベンダの開発環境
PDF
iOS Developers Conference Japan 2016
PDF
エンジニアのお祭り
PDF
勉強会のこちら側とあちら側
PDF
tvOSでWebSocketを使う
PDF
「これを買っている人はこれも買っています」実装してみた PHP side
PDF
tvOSネイティブアプリを作る
PDF
「これを買っている人はこれも買っています」実装してみた
PDF
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
PDF
TestFlightみたいなのを自作する
PDF
PHPでスマホアプリにプッシュ通知する
PDF
Stargazer Meetup #1
PDF
PUSH通知証明書作成ツールを作った
PDF
PHPカンファレンス福岡に 行ってきた
PDF
CakePHP3ウォークスルー
PDF
はじめてのiOSアプリ開発 Swift対応版
PDF
AppStore申請を一式まるっと自動化する
PDF
PHPerのためのSwift入門
Reading php terminal-gameboy-emulator
Drupal8 〜 モダンなアーキテクチャのPHPベース OSS CMS
とある受託ベンダの開発環境
iOS Developers Conference Japan 2016
エンジニアのお祭り
勉強会のこちら側とあちら側
tvOSでWebSocketを使う
「これを買っている人はこれも買っています」実装してみた PHP side
tvOSネイティブアプリを作る
「これを買っている人はこれも買っています」実装してみた
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
TestFlightみたいなのを自作する
PHPでスマホアプリにプッシュ通知する
Stargazer Meetup #1
PUSH通知証明書作成ツールを作った
PHPカンファレンス福岡に 行ってきた
CakePHP3ウォークスルー
はじめてのiOSアプリ開発 Swift対応版
AppStore申請を一式まるっと自動化する
PHPerのためのSwift入門

3 auto layout tips