2010-05-14 5 views
0

еще один базовый вопрос ... У меня есть приложение, которое занимает около 4-5 секунд для загрузки.iPhone App Startup Screen

Я хочу использовать время и показать экран запуска, который

  • видна, по крайней мере в течение 4 секунд, и
  • шоу, пока не будет загружен и готов показать приложение

Как я могу создать это в своем приложении?

ответ

6

Default.png - это только отправная точка. Это даст вам заставку (рекомендации для пользовательского интерфейса Apple предполагают, что экран заставки должен выглядеть как первый экран, чтобы приложение выглядело так, как если бы его загрузка была быстрее, но на самом деле это плохой пользовательский опыт IMHO).

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

1

См. this StackOverflow question. Однако, если ваше приложение занимает 4-5 секунд для загрузки, я бы сосредоточился на повышении его производительности. Можете ли вы выполнить некоторые операции позже, а не при запуске? Всплывающие экраны, как правило, плохой пользовательский интерфейс и являются discouraged in the Apple Human Interface Guidelines.

+0

фактически 4-5 секунд не так уж плохо - особенно для устройств до 3GS - для загрузки изображения приложения может потребоваться 2-3 секунды! Это означает, что разница между 2-3 секундами и 4-5 секундами примечательна при ожидании загрузки приложения. – philsquared

2

Запустите приложение с представлением, которое показывает ход инициализации и после завершения инициализации замените его основным видом вашего приложения. Обязательно отложить этап инициализации с помощью -performSelector:afterDelay или поместить код инициализации в -applicationDidFinishLaunching, чтобы Default.png не отображался, но в течение очень небольшого промежутка времени, и вы можете показать свое представление прогресса.