2013-04-16 2 views
3

Для переноса iPhone на устройство сетчатки мы должны подготовить изображения с разрешением по двойному размеру и назовите его с помощью «@ 2x», чтобы IOS автоматически использовала изображение 2x в устройстве сетчатки.iPhone 5 Retina Display 2x image

Мой вопрос в том, что если я нарушу правило и создаю изображение как тройной размер (или больше, чем двойной размер), но назовите его «@ 2x» как состояние регулирования Apple. Будет ли Apple отклонять мое приложение для загрузки в AppStore?

Причина того, что я сделал, как это, когда я устанавливаю фоновое изображение, я сделал так, как показано ниже:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed: @"background.png"]]; 

В iPhone 5 сетчатки дисплея, размер изображение двойное может не соответствовать должным образом на фон, потому что высота iPhone 5 - это не только двойной размер, это как двойной размер плюс дополнительный пиксель. Вот почему я хочу настроить фоновое изображение больше, чем двойной размер.

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

Мое беспокойство: Apple отклонит мое приложение в этом случае?

ответ

4

Apple не отклонит ваше приложение, если вы создаете изображения с «неправильным» размером/разрешением. Однако обычно это не имеет смысла.

@2x предназначен для обозначения разрешения, и оба iPhone 4/4S и iPhone 5 имеют одинаковое разрешение. Единственное различие заключается в высоте экрана.

Кроме того, вы должны использовать UIImageView для больших фоновых изображений (лучшее управление памятью и производительность).

Добавьте это в ваш файл класса или файла префикс вашего проекта:

#define deviceIsIPhone5 ([UIScreen mainScreen].applicationFrame.size.height == 568 ? YES : NO) 

и в вашем viewDidLoad (или где-то похожи):

if (deviceIsIPhone5) 
{ 
    self.backgroundImage.image = [UIImage imageNamed:@"[email protected]"]; 
} 
else 
{ 
    self.backgroundImage.image = [UIImage imageNamed:@"[email protected]"]; 
} 
0

Нет, приложение не будет отвергнуто.

Это нехороший способ делать то, что вы сделали. Когда ваше приложение работает на оборудовании, отличном от сетчатки, будет использоваться обычное изображение, и всякий раз, когда вы используете аппаратуру сетчатки, изображение @ 2x будет использоваться автоматически.

Он не может дать оба изображения.

Смежные вопросы