Domanda

Come faccio a ritardare l'applicazione di caricamento per mostrare la schermata iniziale più a lungo?

È stato utile?

Soluzione

Si dovrebbe lasciare l'applicazione si avvia come al solito poi fare la prima vista che sembra avere l'identica immagine su di essa come la schermata iniziale. Avviare un timer e quindi sostituire quella vista con l'applicazione reale vista radice dopo pochi secondi.

Deliberatamente ritardare il lancio effettiva applicazione è un grande no-no.

Altri suggerimenti

AGGIORNAMENTO: No sul serio, non fare questo

Oppure la funzione C

sleep(9);

Mettendo questo in applicationDidFinishLaunching:. Causerà si programma per mettere in pausa per 9 secondi, qualsiasi altro numero intero può essere inserito come pure

EDIT: Ho imparato molto nel corso dell'anno passato. Non fare questo. Il motivo è che il trampolino di lancio si arresta automaticamente il lancio applicazione se ci vuole troppo tempo. Che tempistica è scarsamente documentata in modo anche un solo secondo può comportare il fallimento app.

Questa domanda è simile: come Tap Tap Revenge 3

In sostanza, nella vostra applicationDidFinishLaunching :, aggiungere la visualizzazione di un'immagine in cima ad altre viste che contengono il tuo Default.png.

Si veda la discussione di cui sopra del perché probabilmente non dovrebbe ritardare il carico di applicazione in questo modo. Ma se vi capita di avere uno scenario in cui il sonno per breve durata sarebbe preferibile l'overhead di passare una vista, utilizzare sleepForTimeIntervale al posto di sonno di NSThread (). E 'più accogliente quadro e si ha un controllo più granulare sul tempo di sonno:

[NSThread sleepForTimeInterval:0.75]

Ho avuto una situazione in cui il cliente ha dovuto demo l'immagine di lancio. Quindi, questa è stata la mia soluzione ..

- (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.
 */

}

Si può usare il metodo di sonno per ottenere questo risultato "

  

sleepForTimeInterval

", se si vuole ottenere è lanciare tempo, fare come:

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

Sarà ritardare il lancio di 8 secondi

Attenzione: Ma non è raccomandato da Apple, come sarà la watchdod su lungo periodo di tempo per la vostra applicazione di carico, può uccidere la vostra applicazione. Ma in caso se ne avete bisogno per ottenere qualche specifica screenshot o per qualche uso interno, è possibile utilizzare per risolvere per scopo ma mai in app inviata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top