Как отложить Default.png?
Как я могу отложить загрузку приложения, чтобы показывать заставку дольше?
6 ответов
Вы должны позволить приложению запускаться как обычно, а затем на первом появившемся изображении должно быть то же изображение, что и на заставке. Запустите таймер, а затем за несколько секунд замените это представление на настоящее представление корня приложения.
Намеренная задержка фактического запуска приложения - это большое нет-нет.
ОБНОВЛЕНИЕ: Нет, серьезно, не делай этого!
Или с помощью функции C
sleep(9);
Помещение этого в applicationDidFinishLaunching: заставит вашу программу приостановиться на 9 секунд, также может быть введено любое другое целое число.
РЕДАКТИРОВАТЬ: я многому научился в прошлом году. Не делай этого. Причина в том, что трамплин автоматически остановит запуск приложения, если это займет слишком много времени. Это время плохо документировано, поэтому даже одна секунда может привести к сбою приложения.
Этот вопрос похож: заставка как тап тап месть 3
По сути, в вашем приложении DidFinishLaunching: добавьте представление изображения поверх других представлений, содержащих ваш Default.png.
Посмотрите выше обсуждение того, почему вы, вероятно, не должны откладывать загрузку своего приложения таким образом. Но если у вас есть сценарий, в котором сон на короткое время предпочтительнее, чем издержки на выключение представления, используйте sleepForTimeIntervale из NSThread вместо 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.
*/
}
Вы можете использовать этот метод сна, чтобы получить этот результат "
sleepForTimeInterval
", Если вы хотите получить время запуска, сделайте так:
- (void) applicationDidFinishLaunching:(UIApplication*)application
{
[NSThread sleepForTimeInterval:8.0];
}
Это задержит запуск на 8 секунд
Предупреждение: Но это не рекомендуется Apple, так как он будет сторожем в течение длительного времени для загрузки вашего приложения, он может убить ваше приложение. Но если вам нужно получить какой-то конкретный снимок экрана или для внутреннего использования, вы можете использовать его для решения, но не для отправки в приложение.