JLT
JLT

Reputation: 3172

How To Load The Image Set(The Bundle) From Images.xcasset in iOS

When I am developing apps in iOS before, I always put the image sources of the app at the root directory of the project, and then I will load them using [UIImage imageNamed:@"image.png"]. I did't even include various sizes and resolutions such as image@2x or image@3x. But I am afraid this is not a good practice, because I cannot deal with different screen resolutions.

Now, I want to make use of the Images.xcasset to store all my image sources so that I will be able to load just the bundle name, and hoping that the system will pick the image with the right resolution automatically. Therefore, I made a test and place my image set under Images.xcasset and named it as images, and then in my UIViewController.m I am trying to load the image by calling [UIImage imageName:images]. As a result, it didn't work. So I searched for an answer and found out that I should call [UIImage imageName:@"[email protected]"] in order to load the the 60pt @2x image.

But I think this still did not solve my problem, because I am still choosing which image to load. Is there a way to load the entire image set or load the image according to the resolution of the screen?

Please help. Many Thanks.

EDIT: Added Screen Shots

enter image description here

I use AppIcon as a test

enter image description here

Upvotes: 0

Views: 1050

Answers (2)

Henry_821018
Henry_821018

Reputation: 191

Two things :

  1. As said Ankit, do not use App Icon, use your own set
  2. do not use a file suffix. Just reference [UIImage imageName:@"MyImage"] (not [UIImage imageName:@"MyImage.png"])

Upvotes: 0

user2435304
user2435304

Reputation:

As you said at last that you are using AppIcon as a test. Please don't AppIcon it is made for internal use. try to create you own imageSet and use that. It should work.

Upvotes: 1

Related Questions