Xcodeに画像が追加したのに読み取れない場合

Xcode
Xcodeのプロジェクトに画像を追加して
`UIImage* i = [UIImage imageNamed:@”hoge.png”];`
というようにUIImateを取得しようとしてもnilが返ってくることがあります。
WEBから来た人はディレクトリ指定が間違っているのかな?と思ったりするかもですが、Xcodeはディレクトリ指定はないので単純にファイル名を指定すればOKです。ただ、同じファイル名が存在してしまうと警告なりなんなりありますので、注意してください。

こういう場合は@2x、@3xファイルが足りないことがまず考えられます。
なのでファイル名の最後に@2xをつけることで解決できますが、どうしてかそれでも画像が読み込めない時があります。

そういうときはimages.xcassetsを使います。
ここではアプリアイコンなどを管理しているかと思うのですが、その他の画像もここで管理が可能です。画像のサイズなど一覧で確認できるので基本はここで管理したほうがいいかと思います。

追加方法はAppIconなどが並んでいるところの下の方に「+」があるのでクリック、New Image Setを選択します。
そうするとImageとうのができるのでそこに画像を追加していきます。単純にドラッグアンドドロップです。
画像を追加したらImageという名称を変更します。最初に上げた例だと「hoge」とでもしておきましょう。
そうするとこのプロジェクト内では`hoge`と指定するだけで、画像が取得できます。以下のような形です。
`UIImage* i = [UIImage imageNamed:@”hoge”];`

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です