Начальное изображение в веб-приложении для дисплея Retina?

Кто-нибудь знает, как заставить iOS отображать загрузочное изображение с более высоким разрешением при использовании? В настоящее время я застрял с изображением 460x380, которое, очевидно, выглядит ужасно при отображении на дисплее iPhone 4 с высоким разрешением. Я попробовал трюк @2x, но, похоже, он не сработал.

Любые идеи или обходные пути?


person Crispy    schedule 14.09.2010    source источник
comment
Как вы показываете стартовое изображение? вы используете файл default.png?   -  person Satyam    schedule 14.09.2010
comment
Если вы посмотрите документацию Apple по адресу bit.ly/95IHsf, там говорится, что изображение должно быть 320 x 460 пикселей и в портретной ориентации. Я заметил, что перепутал разрешение в вопросе, но я сделал это с 320x460 и заставил его работать. В документации ничего не говорится о дисплее сетчатки, поэтому я не уверен, что он устарел, отсюда и мой вопрос.   -  person Crispy    schedule 14.09.2010
comment
Satyam svv, я использую startup.png и пытался поставить версию с высоким разрешением как [email protected], но не сработало. Я использую тег link rel=apple-touch-startup-image.   -  person Crispy    schedule 14.09.2010
comment
Crispy - просто проверьте, нашли ли вы ответ на этот вопрос (последний комментарий / ответ был почти год назад). В документации Apple по-прежнему указано, что изображение ДОЛЖНО БЫТЬ 320x460...   -  person mattstuehler    schedule 05.08.2011


Ответы (5)


Я никогда не думал, что у меня это заработает, но по какой-то причине везде в Интернете говорится, что размеры изображений с высоким разрешением составляют 640x960, на самом деле они 640x920. После внесения этого изменения экран-заставка высокого разрешения будет корректно отображаться на дисплеях Retina. Ниже приведен точный код, который я использую в нашем приложении. У нас есть заставки, работающие на iPad1/iPad2 в книжной и альбомной ориентации, iPhone3/iPhone4.

Надеюсь, это поможет кому-то.

  <!-- iOS Device Startup Images -->
<!-- iPhone/iPod Touch Portrait – 320 x 460 (standard resolution) -->
<link rel="apple-touch-startup-image" href="splash-screen-320x460.png" media="screen and (max-device-width: 320px)" />

<!-- iPhone/iPod Touch Portrait – 640 x 920 pixels (high-resolution) -->
<link rel="apple-touch-startup-image" media="(max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)" href="splash-screen-640x920.png" />

<!-- For iPad Landscape 1024x748 -->
  <!-- Note: iPad landscape startup image has to be exactly 748x1024 pixels (portrait, with contents rotated).-->
<link rel="apple-touch-startup-image" sizes="1024x748" href="splash-screen-1024x748.png" media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape)" />

<!-- For iPad Portrait 768x1004 -->
<link rel="apple-touch-startup-image" sizes="768x1004" href="splash-screen-768x1004.png" media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait)"/>
person dnadeau    schedule 24.01.2012

Вы пытались использовать медиа-запросы, связанные с соотношением пикселей в теге link?

media="only screen and (-webkit-min-device-pixel-ratio: 2)" для дисплея сетчатки один.

person Ian Storm Taylor    schedule 17.02.2011
comment
Это умная идея, но даже без атрибута media изображение 640x920 не работает на дисплее Retina. Я думаю, что, вероятно, он просто не поддерживается прямо сейчас. По крайней мере, в моих тестах мне это не удалось. См. документацию. Надеюсь, они добавят его в более позднюю версию iOS. - person theazureshadow; 18.02.2011
comment
Черт, как жаль, только что начал настраивать стартовый экран для моего приложения, и он выглядит зернистым. - person Ian Storm Taylor; 18.02.2011

iPad:

link rel="apple-touch-startup-image" sizes="768x1004" href="" /
iPhone Retina Display: link rel="apple-touch-startup-image" sizes="640x960" href="" /
person Kevin George    schedule 05.11.2011

Я видел случаи, когда XCode давал сбой в этой ситуации. Помимо двойной проверки размера изображения (320x460), не помешает:

  1. Убедитесь, что оба изображения находятся в сборке. (Щелкните правой кнопкой мыши / Option по заголовку файла и выберите «целевое членство», а затем убедитесь, что флажок установлен.)
  2. Сделайте чистую сборку.
  3. Удалите все файлы сборки в каталоге сборки. (Чистый не получает ВСЕ из них.)
  4. Удалите приложение с целевого телефона/сим-карты.

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

person tomwhipple    schedule 28.10.2010
comment
Он говорил о веб-приложениях, а не о нативных приложениях. - person Mason G. Zhwiti; 22.11.2011

Трюк «@2x» работает. Должно быть, что-то не так с вашими изображениями.

Вам нужны два файла. Default.png и [email protected]. Первый должен быть 320x460. Второй должен быть 640x920. Я обещаю, это работает.

person Dan Ray    schedule 14.09.2010
comment
Нет.. не работает почему-то. Теперь у меня есть Default.png и [email protected], и я проверил размеры обоих. Он всегда загружает Default.png. Я проверил это по журналам моего сервера разработки, и он даже не отправляет запрос на версию @2x. Должно быть, я что-то здесь упускаю... edit Вы говорите об изображении запуска/заставки для веб-приложения, а не о среднем изображении тега img на веб-странице, верно? :) - person Crispy; 14.09.2010
comment
Я говорю о заставке для НАТИВНОГО приложения. Это то, о чем вы спрашиваете? Я вижу, вы использовали слово веб-приложение в заголовке вопроса, но все остальное, что вы написали, было похоже на то, как если бы вы создавали нативное приложение... @2x предназначен для нативных приложений. В Obj-C, созданный с помощью Xcode. - person Dan Ray; 14.09.2010
comment
А, я говорю о веб-приложении, которое вы используете через Mobile Safari. У меня сложилось впечатление, что в iOS4 Mobile Safari также пытается проверять изображения @2x. - person Crispy; 15.09.2010