##はじめに
この記事を書き始めた2016年7月20日現在。iOSを搭載した端末には様々なものが存在します。
iPhone、iPad、AppleWatchなどなど。
以前は縦向きか横向きか、程度でしかレイアウトを考慮しなくて良かったのですが、現在では様々な端末のサイズに対応しなければなりません。
そこで、登場したのが"Adaptive User Interface"という考え方です。
というわけで、今回のお題は「"Adaptive UI"について勉強してみた」です。
※この記事は「よくわかるAuto Layout」を参考にしています。
##そもそも"Adaptive UI"って何?
WWDC2014で登場したAdaptivity(順応性)という概念があり、Adaptivityがあるレイアウト、つまりどのような画面サイズであっても柔軟にレイアウトを維持できることを実現する……それが"Adaptive UI"です。
簡単に言うと、"Auto Layout"や"トイコレクション"という概念を組み合わせることにより、様々な端末に対応したレイアウトを作成するということです。
##Auto Layout
"Auto Layout"とは、Constraint(制約)を用いたレイアウト方法です。
位置やサイズに関する制約を設定することで、異なる大きさの端末でも自動的に制約に合ったレイアウトに調整してくれる機能です。
※本記事では"Auto Layout"に詳細には触れません。
##Size Class
トイコレクションと呼ばれる抽象的な画面情報を持つオブジェクトに含まれる値の1つで、画面の高さと幅を抽象的に表すものです。
"Size Class"は端末の縦と横を小さいサイズを表すCompactと大きいサイズを表すRegularで表します。
こちらの記事にわかりやすい表が載っているので参考にして下さい。
http://dev.classmethod.jp/references/ios8-trait-collection/
※本記事では"Size Class"に詳細には触れません。
##まとめ
"Adaptive UI"を担う"Auto Layout"と"Size Class"。
"Auto Layout"はわりと普通に使っていましたが、"Size Class"に関してはあまりよくわかっていませんでした。
おそらく、私と同じような感じの方は多いのではないか、と思います。
そういう方はこれを期に"Auto Layout"だけでなく、"Size Class"について学んでみるのはいかがでしょうか。