Please enable JavaScript.
Coggle requires JavaScript to display documents.
iOSアプリのレイアウト技術を学ぶ (自分が知っておいてほしいこと (pxではないということ, 長さはデバイスによって変わってしまうということ,…
iOSアプリのレイアウト技術を学ぶ
自分が知っておいてほしいこと
pxではないということ
長さはデバイスによって変わってしまうということ
各デバイスで最適化することは現実的なスピード・変化では不可能であること
要素間の関係式という概念でレイアウトを記述しているということ
テキストサイズは基本的にユーザーに任せたほうがいいということ
やること
要素技術の概要説明
要素技術の背景にある思想
その技術が生まれた歴史的・環境的背景
組み合わせるとどういう世界観になるか
目的
これから学習する人たちに向けて全体像の見通しを与える
漠然と理解している人たちの断片的な知識をストーリーとしてつなげる
エンジニアとその他の業種間で発生するコミュニケーションコストを下げる
やらないこと
実装方法
Xcodeの使い方
領域
社内で一番コミュニケーションの齟齬が発生しやすい領域はどこか
コミュニケーションに不都合が発生しやすい領域
レイアウト
対象外
UIコンポーネント
アニメーション
ユーザーインタラクション
国際化
色
レイアウトにも様々な観点がある
重要な2つの話に絞る
UIKitを使ったレイアウトの話
Autolayout
データの状態によるレイアウトの話
状態とデザインの話
UI Stack: データ毎に発生する状態が存在しいて、それらが
連続的に変化するという話
全てのControlは基本的に状態を持つ
対象
デザイナ・ディレクタ・新人エンジニア
レイアウトに関するiOSの変化の底流に流れる考え方はなにか
Adaptive UI -> Design for Every one
WWDCのセッションをサーベイして、それを元にAppleのレイアウトデザインに対する考え方がどう変化してきたか説明する
単一スクリーンでデバイス毎にデザイン -> Adaptive UI -> Design for every one
frame
Auto Sizing
Autolayout
px == pt
2 * px == pt & px == pt
3
px ~= pt && px == pt && 2
px == pt
ipad && iphone, landscape && portrait
size class (trait collection)
UISplitViewController && UIPresentationController
UIStackView
layout guide
readableContentGuide
TopLayoutGuide && BottomLayoutGuide
safe area
Dynamic Type
全てのフォントで対応
iOS11のアクセシビリティを意識したHIG