質問: Xcode10環境。 UIToolBarでIllustratorで作成したボタンを使用したいが、滲んでしまう。 自身で調べてみましたが、詰まってしまっています・・・ Xcodeでアプリを作成しています。 UIToolBarにて、IllustratorCCで作成した画像を使用したいのですが、 シュミレーター・実機で試してみても 画像が滲んでしまいます。 調べてみて試したこと IllustratorCCでは、22x22ピクセルで書き出し、jpgデータで実機テスト→滲み有り jpgデータをPDFデータに変換→滲みは変わらず そもそものピクセル数が間違っているのか・・・ ご存知の方、よろしければ教えてください。
回答: JPG形式は論外です。 32bitのPNGか、ベクターベースのPDFファイルを使うことになります。 (後者はちょっとだけテクニックが要ります) iPhoneは今現在はRetinaディスプレイが主流ですが、 昔はRetinaではないディスプレイもありました。 Retinaではないディスプレイの頃のツールバーのアイコンサイズが22x22ピクセルだと思ってください。 Retinaディスプレイでは縦横が2倍になり、44x44ピクセルの画像を要します。 また、iPhone6Plusの頃からは3倍のRetinaディスプレイになり、66x66ピクセルの画像を要します。 画像の管理にAssets.xcassetsを使っている場合、 !イメージ説明 ↑のように、1イメージセットにつき1x, 2x, 3xの3画像を登録するようになっています。 なので、22x22を1xのところへ、44x44を2xのところへ、66x66を3xのところへドロップしてあげれば UIImage(named: ...)でロードしたときに、端末の環境に合わせてこの3枚のうち一番適しているものが読み込まれます。 #Assets.xcassetsを使わずに、プロジェクトに直接画像ファイルを突っ込んでいる場合はhoge.png, hoge@2x.png, hoge@3x.pngというようなルールで名前を付ければ、ロード時に勝手に切り替えてくれます(余計な事をしていなければ) 冒頭でもちょっと触れましたが、3枚作るのが面倒くさい場合に1PDFファイルで行くこともできます。 興味があればしらべてみてください。