Как я могу отложить загрузку приложения, чтобы заставка отображалась дольше?
Как отложить Default.png?
Ответы (6)
Вы должны позволить приложению запуститься как обычно, а затем сделать так, чтобы в первом появившемся представлении было такое же изображение, что и на экране-заставке. Запустите таймер, а затем через несколько секунд замените это представление корневым представлением вашего реального приложения.
Намеренно откладывать запуск приложения нельзя.
Default.png
- дать пользователю возможность сразу же получить обратную связь о запуске приложения. Это не для того, чтобы показывать экран-заставку, и его задержка, чтобы пользователь мог дольше видеть экран-заставку, является полной противоположностью тому, для чего он предназначен. Если ваше простое приложение загружается очень быстро, это хорошо, а не ошибка, которую нужно исправлять, и вам следует сделать Default.png
статическое изображение исходного пользовательского интерфейса.
- person Jim; 04.03.2011
ОБНОВЛЕНИЕ: Нет, серьезно, НЕ делайте этого!
Или нам функция C
sleep(9);
Если ввести это в applicationDidFinishLaunching:, программа остановится на 9 секунд, также можно ввести любое другое целое число.
РЕДАКТИРОВАТЬ: Я многому научился за последний год. Не делай этого. Причина в том, что трамплин автоматически остановит запуск приложения, если это займет слишком много времени. Это время плохо задокументировано, поэтому даже одна секунда может привести к сбою приложения.
Этот вопрос аналогичен: экран-заставка, например, тап-тап-месть 3
По сути, в вашем applicationDidFinishLaunching: добавьте представление изображения поверх других представлений, содержащих ваш Default.png.
См. Выше обсуждение того, почему вам, вероятно, не следует задерживать загрузку приложения таким образом. Но если у вас есть сценарий, в котором кратковременный сон предпочтительнее накладных расходов на отключение представления, используйте sleepForTimeIntervale NSThread вместо sleep (). Это более дружественно к фреймворку, и у вас есть более детальный контроль над временем сна:
[NSThread sleepForTimeInterval:0.75]
У меня была ситуация, когда клиенту нужно было демонстрировать образ запуска. Итак, это было мое решение ..
- (void)applicationDidBecomeActive:(UIApplication *)application
{
UIImageView *defaultImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"[email protected]"]];
[self.window addSubview:defaultImageView];
sleep(2);
[defaultImageView removeFromSuperview];
[defaultImageView release];
/*
Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
*/
}
Вы можете использовать этот метод сна, чтобы получить такой результат "
sleepForTimeInterval
", Если вы хотите узнать время запуска, сделайте следующее:
- (void) applicationDidFinishLaunching:(UIApplication*)application
{
[NSThread sleepForTimeInterval:8.0];
}
Это задержит запуск на 8 секунд.
Предупреждение: Но это не рекомендуется Apple, так как это будет сторожевым устройством в течение длительного времени для загрузки вашего приложения, это может убить ваше приложение. Но если вам это нужно для получения определенного снимка экрана или для внутреннего использования, вы можете использовать его для решения определенной цели, но никогда не при отправке приложения.