Вопрос

Как я могу отложить загрузку приложения, чтобы дольше показывать заставку?

Это было полезно?

Решение

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

Намеренная задержка фактического запуска приложения - это большой запрет.

Другие советы

Обновить:Нет, серьезно, НЕ делай этого!

Или используем функцию C

sleep(9);

Помещаем это в applicationDidFinishLaunching:это заставит вашу программу приостановиться на 9 секунд, также может быть введено любое другое целое число.

Редактировать:Я многому научился за прошедший год.Не делай этого.Причина в том, что springboard автоматически остановит запуск приложения, если это займет слишком много времени.Это время плохо документировано, поэтому даже одна секунда может привести к сбою приложения.

Этот вопрос похож: заставка, похожая на tap tap revenge 3

В принципе, в вашем applicationDidFinishLaunching: добавьте вид изображения поверх других видов, содержащих ваш файл по умолчанию.png.

Смотрите приведенное выше обсуждение того, почему вам, вероятно, не следует откладывать загрузку вашего приложения таким образом.Но если у вас есть сценарий, в котором кратковременный сон был бы предпочтительнее накладных расходов на переключение представления, используйте nsthread's Перерыв на время сна вместо sleep().Это более удобно для фреймворка, и у вас есть более детальный контроль над временем ожидания:

[NSThread sleepForTimeInterval:0.75]

У меня была ситуация, когда клиенту пришлось продемонстрировать образ запуска.Итак, это было мое решение..

- (void)applicationDidBecomeActive:(UIApplication *)application

{

UIImageView *defaultImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default@2x.png"]];
[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.
 */

}

Вы можете использовать его методом sleep, чтобы получить этот результат "

Интервал времени сна во время сна

", Если вы хотите получить время его запуска, сделайте следующее :

- (void) applicationDidFinishLaunching:(UIApplication*)application
{
   [NSThread sleepForTimeInterval:8.0];
}

Это задержит запуск на 8 секунд

Предупреждение :Но Apple не рекомендует это делать, так как это приведет к длительной загрузке вашего приложения, это может привести к его завершению.Но в случае, если вам это нужно для получения какого-то конкретного скриншота или для какого-то внутреннего использования, вы можете использовать для решения по назначению, но никогда при отправке приложения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top