Как отложить файл Default.png?
-
20-09-2019 - |
Вопрос
Как я могу отложить загрузку приложения, чтобы дольше показывать заставку?
Решение
Вы должны позволить приложению запуститься как обычно, а затем сделать так, чтобы в первом появившемся окне было идентичное изображение в качестве заставки.Запустите таймер, а затем через несколько секунд замените это представление вашим реальным корневым представлением приложения.
Намеренная задержка фактического запуска приложения - это большой запрет.
Другие советы
Обновить:Нет, серьезно, НЕ делай этого!
Или используем функцию 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 не рекомендует это делать, так как это приведет к длительной загрузке вашего приложения, это может привести к его завершению.Но в случае, если вам это нужно для получения какого-то конкретного скриншота или для какого-то внутреннего использования, вы можете использовать для решения по назначению, но никогда при отправке приложения.