2017年2月18日土曜日

UIBarButtonItemの画像をきれいに表示する

UIBarButtonItemに画像を使用した場合、実サイズで表示されてしまうため、よほど小さい画像にしてやらない限り大きくはみ出してしまう。
かといって小さい画像にしてやると、Retinaディスプレイでもジャギーが目立つ粗いものになり、見た目がよろしくない。

UIButtonやUIImageViewにはContentModeの設定(Scale To FillとかAspectFitとか)ができ、部品の大きさに合わせて画像を縮小表示してくれるのだが、UIBarbuttonItemにはそんなものはない。

一瞬悩んだが、XcodeのAssetsに2x、3xの画像を登録すればいいことがわかった。


画像の大きさは20*20ピクセルがいいらしく、2xでは40*40、3xでは60*60の画像を登録した。

なお、今更ではあるけど、iOS7から(だっけ?)のフラットデザインの方針により、カラー画像を登録してもモノクロになっちゃうので、白く抜きたいところをalpha値 = 0 で描いた画像を使わなきゃいけない。
やり方によっちゃカラーの画像も使えるんじゃないかと思うんだけど、それはまた必要になったら調べるなり。

0 件のコメント:

コメントを投稿