Укажите изображения для iPad в Xcode, например @ 2x для iPhone 4 - PullRequest
15 голосов
/ 04 апреля 2011

Я обновил свою текущую цель до iPad и создал универсальное приложение, и время на настройку приложения для iphone на ipad значительно уменьшилось бы, если бы был ответ на этот вопрос.

К этому времени все знают, что если у вас есть изображение с именем « football.png » и вам нужна поддержка Retina Display, вы должны удвоить размер изображения и назвать его « football @ 2x». .png ».

У меня вопрос, есть ли что-то для iPad, например *football@iPad_which_is_another_size.png*?

Если нет способа сделать это, нужно ли мне подключать каждое изображение к IBOutlet и устанавливать рамку программно?

Ответы [ 2 ]

27 голосов
/ 04 апреля 2011

В iOS 4.0 и более поздних версиях можно пометить отдельные файлы ресурсов как пригодные для использования только на определенном типе устройства. Чтобы связать файл ресурса с конкретным устройством, вы добавляете в его имя пользовательскую строку модификатора.Включение этой строки модификатора приводит к именам файлов в следующем формате:

 <basename><device>.<filename_extension>

Для загрузки определенных ресурсов iPad вы должны использовать ~ipad.Пример: создайте изображение с именем AwesomeImage~ipad.png и загрузите с помощью [UIImage imageNamed:@"AwesomeImage.png"], как вы делаете для изображения дисплея сетчатки.

Для получения дополнительной информации: http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/LoadingResources/Introduction/Introduction.html В разделе «iOS поддерживает ресурсы, специфичные для устройства».

2 голосов
/ 04 апреля 2011

Я не думаю, что есть способ заставить ОС выбирать его автоматически, как для дисплея Retina.Но вы можете создать удобный метод для возврата ваших имен файлов, например:

-(NSString*) myImageFilename:(NSString*)baseName withExtension:(NSString*)ext {

 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
  return [NSString stringWithFormat:"%@@iPadSize.%@"];
 } else {
  return [NSString stringWithFormat:"%@.%@"];
 } 

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