Укажите изображения для iPad в Xcode, например, @2x для iPhone 4

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

К этому времени все знают, что если у вас есть изображение под названием "football.png" и вам нужна поддержка Retina Display, вы должны удвоить размер изображения и называть его "[email protected]".

Мой вопрос в том, что для iPad есть что-то вроде *[email protected]_which_is_another_size.png *?

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

Ответы

Ответ 1

В 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

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

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

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

}