Я сделал это довольно просто, когда мой rootViewController выдвинул modalViewController, загружая из "Splash.nib" в подкласс UIViewController, который я назвал "SplashViewController". Точный звонок был:
- (void) viewDidLoad {
SplashViewController *splashScreen = [[[SplashViewController alloc]
initWithNibName:@"SplashViewController" bundle:nil] autorelease];
[self presentModalViewController:splashScreen animated:NO];
//continue loading while MVC is over top...
Когда вы запускаете приложение, оно всплывает, как на заставке. Тогда перо SplashViewController - это просто полноэкранный UIImageView с png-всплеском, 320x480. После 1-секундного NSTimer (что-то еще мешало) он запускает timerFireMethod, пользовательский метод, который просто вызывает
[self dismissModalViewControllerAnimated:YES];
Тогда модальный VC просто скользит вниз и покидает мой верхний tableView. Приятно то, что, пока MVC работает, базовая таблица может продолжать загружать из-за независимой природы контроллеров модального представления. Так что я не думаю, что это нарушает HIG и действительно позволяет быстрее запускать. Что бы вы предпочли посмотреть, симпатичную картинку или пустой вид по умолчанию (храп)?