アセットカタログと画像リソース

画像は「Images.xcassets」に入れる、という記事があった。


ただのimagesフォルダじゃダメなの?
1xとか2xってなに??


なんて初歩的な疑問を抱いた。
これも参入が遅すぎたために解決に時間がかかった・・。


iOS端末の多様化で、解像度もデバイスごとに違いがある。
「非RetinaRetina(高解像度)→Retina HDなんとか(もっと高解像度)」
こんな感じで、iOS端末のグレードアップに伴い解像度もあがっている。


で・・疑問の答えとしては、
「imagesフォルダでもいいし、1xや2xを作らなくても、まあ、動く。」
になると思う。


でも、問題点は、
「小さいデバイスでも、大きいデバイス用の大きい画像を用意しておく」
というリソースの無駄づかいや、
「デバイスにあわせた画像のリサイズをコード上でやることで、重くなる」
ということ。


だからそれぞれのデバイス用にサイズ調整した画像をあらかじめ用意しておく。
xcassetsというのは、アセットカタログというものらしい。
ちょっと前に追加された、画像を管理するためのツールだそう。
これを使うと、デバイスごとの画像の管理が楽になるらしい。
1xや2xはデバイスに対応していて、1xは一番小さい非Retina用、2xは縦横が2倍のRetina用、3xはそのさらに上の・・となっている。
それぞれに画像をセットすると、ワークスペースに画像がコピーされて、プロジェクト内ではそれを指定した名前で参照できる。