Как установить изображение на платформе iphone в target-c - PullRequest
0 голосов
/ 24 февраля 2011

Я перемещаю свое приложение с 3.x на 4.x, когда я готовлюсь к магазину приложений, и обнаружил, что мне нужно иметь 2 копии всех моих пользовательских png-файлов - мой вопрос, как я могу определить, что img показать и когда. Пример - как я знаю, чтобы показать Find.png против Find@2x.png

Это "безопасно" или "правильно" искать специфичные для 4.x API-интерфейсы, или у iphone есть способ определить, на какой платформе вы находитесь во время выполнения?

Заранее спасибо

Ответы [ 4 ]

3 голосов
/ 24 февраля 2011

Когда вы используете стандартные API, телефон обрабатывает версию @ 2x, когда это необходимо.Например, если вы используете [UIImage imageNamed:@"Find.png"]; и запускаете на iPhone 4, он автоматически загрузит Find@2x.png.

1 голос
/ 24 февраля 2011

Если ваше приложение работает на (я полагаю) iOS 4.2 или более поздней версии, а изображения представляют собой файлы PNG, вы можете заменить свои вызовы:

[UIImage imageNamed:@"Find.png"];

просто:

[UIImage imageNamed:@"Find"];

В более поздних версиях ОС imageNamed пытается трактовать входящий параметр как корневое имя изображения, а не само имя конкретного изображения. В таком случае в него встроен интеллект для загрузки наиболее подходящей для устройства графики.

1 голос
/ 24 февраля 2011

Если вы используете imageNamed: метод UIImage, для вас обрабатывается бизнес @ 2x.

В противном случае вы можете проверить масштаб экрана, как в этот вопрос

1 голос
/ 24 февраля 2011
[[UIDevice currentDevice] model];
[[UIDevice currentDevice] systemName];
[[UIDevice currentDevice] systemVersion];

Обнаружение экрана сетчатки / iPhone 4 в iPhone SDK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...