Interface Builder を用いて Segmented Control 等に独自のアイコン画像を設定する場合、まず画像を Xcode に登録してから IB のインスペクタで画像を選択する。
Xcode に登録する画像名は任意でも構わんのやけど、名前の末尾に Template と付けておくと、Segemented Control 等を選択時に画像を良い感じにしてくれる。
たとえば SDK に用意されている NSPathTemplate という定数名で指定する画像は、非選択時には黒単色で構成されている画像やけど、選択時には青いドロップシャドウが掛かった感じになる。SDK の他の画像も末尾に Template が付いているものは同様になる。
自分でアイコン画像を用意する場合も同様で、画像名の末尾に Template を付けると(HogeTemplate.png 等)上記の画像変換を自動でやってくれる。
上記の画像は各行の左ふたつは SDK で用意されている標準の画像(NSPathTemplate、NSListViewTemplate)。右ふたつは自分で用意した画像(BookmarkTemplate.png、Bookmark.png)。右端の Bookmark.png を設定したセグメント以外は、クリックで選択時に青いドロップシャドウが掛かった画像に自動的になる。
Template 画像に関する詳細は NSImage のクラスリファレンスを参照。

0 comments:
コメントを投稿