Устройство Retina iOS не показывает изображение @ 2X, оно показывает изображение 1X - PullRequest
6 голосов
/ 28 декабря 2011

Устройство Retina iOS не показывает изображение @ 2X, оно показывает изображение 1X.

Я использую Xcode 4.2.1 Build 4D502, приложение ориентировано на iOS 5.

Я создал тестовое приложение (Master / Detail) и добавил два изображения.

iconTest.png 24 х 24 iconTest@2X.png 48 x 48 Каждое изображение уникально, поэтому я могу легко определить, какое из них отображается.

В ViewDidLoad я добавляю кнопку в контроллер навигации ...

UIImage *buttonImage =  [UIImage imageNamed:@"iconTest.png"];
UIBarButtonItem *button = [[UIBarButtonItem alloc] 
                           initWithImage:buttonImage
                                   style:UIBarButtonItemStyleBordered
                                  target:self
                                  action:@selector(share)];
self.navigationItem.rightBarButtonItem = button;

Когда я запускаю это тестовое приложение в iOS Simulator, оно правильно отображает значок для устройства iOS с сетчаткой. В симуляторе Hardware-> Device-> установлен на iPhone (Retina). И когда я приостанавливаю приложение и смотрю на объект buttonImage, я вижу, что масштаб установлен на 2.

Это работает как ожидалось!

Однако, когда я подключаю свой iPhone 4 и запускаю приложение, появляется изображение с более низким разрешением. И когда я приостанавливаю приложение и смотрю на объект buttonImage, я вижу масштаб 1.

Это не ожидаемое поведение.

Есть идеи о том, чем отличается симулятор от реального устройства iOS?

Это известная проблема? Есть ли известный обходной путь?

Спасибо, Брайан.

1 Ответ

17 голосов
/ 28 декабря 2011

Имена файлов чувствительны к регистру на iPhone, но не на iPhone Simulator. Вам нужно использовать @2x вместо @2X.

...