UIKitで使われている画像パーツをまとめて取得する

この記事は投稿日から1年以上が経過しています。

UIKitで使われている画像はどこにある?

例えば、UIAlertViewのアラートの画像ってどういう構成になってる?とかUISegmentedControlのAppearance変えたいんだけど当てはめる画像はどう作る?などというときにUIKitが標準で使っている画像パーツを参照できると便利です。

プログラマというか特にはデザイナさんにとって有用だと思います。

その画像パーツですが、Xcode(iOSシミュレータ)の中に入っているのでそこから抜くのが手っ取り早いです。
具体的には(これはiOS6.1の場合)、

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Frameworks/UIKit.framework/Shared@2x.artwork

が画像パーツを含むファイルになります。

他にも、同じディレクトリに

  • Shared.artwork
  • Shared@2x~ipad.artwork
  • Shared@2x~iphone.artwork
  • Shared~ipad.artwork
  • Shared~iphone.artwork

がありますので取りたいものに応じてお好みで。

ひとまず、

cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Frameworks/UIKit.framework/Shared@2x.artwork ~/Desktop/

などでこのファイルをデスクトップにでもコピーしておきましょう。

artworkから画像ファイルを抽出

で、artworkから肝心の画像ファイルを抽出するのに、 iOS-artwork というやつを使わせてもらいます。

まずは、これを

git clone git://github.com/davepeck/iOS-artwork.git

などでダウンロードします。

ただ、これを使うにはPythonPILというライブラリが必要です。
たぶんPythonは元から入っていると思うので、PILのほうをbrewなどでインストールします。

brew install pil

インストールし終わったら

mkdir ~/Desktop/UIKitParts
./iOS-artwork.py export -a ~/Desktop/Shared@2x.artwork -d ~/Desktop/UIKitParts

と先ほどダウンロードしたiOS-artworkを実行するわけですが、おそらくここで、

Traceback (most recent call last):
  File "./iOS-artwork.py", line 32, in <module>
    import PIL
ImportError: No module named PIL

と怒られると思います。インストールしたはずのPILが見つからないとのこと。そのため、

export PYTHONPATH=/usr/local/Cellar/pil/1.1.7/lib/python2.7/site-packages 

としてPILの場所をPythonに教えてあげます(brew以外でインストールした人はディレクトリをその場所に置き換えてください)。

気を取り直して、

./iOS-artwork.py export -a ~/Desktop/Shared@2x.artwork -d ~/Desktop/UIKitParts

を実行すれば、デスクトップのUIKitPartsというディレクトリにUIKitの画像一式がもりもりと出力されていくはずです!

ぼくの手元では、

UIKitParts

こんなかんじで取得できました。

所の執筆・監修した書籍

iOS 11 Programming

iOS 11 Programming

  • 著者:堤 修一,吉田 悠一,池田 翔,坂田 晃一,加藤 尋樹,川邉 雄介,岸川 克己,所 友太,永野 哲久,加藤 寛人,
  • 製本版,電子版
  • PEAKSで購入する