Domanda

Sono piuttosto un principiante nello sviluppo di cacao, obiettivo-C e iOS.

Vorrei implementare una vista che è solo una schermata di splash e dura solo per un breve periodo prima di instradare alla vista principale. Hai idea di come dovrei implementarlo? Eventuali tutorial o campioni di codice? Ne ho alcune con più viste, ma nessuno con un timer da reindirizzare ad un altro dopo pochi secondi come voglio fare.

È stato utile?

Soluzione

Vedere Immagini APP AVANZA (predefinite) nella guida alla programmazione dell'applicazione iOS.

Va anche notato che Apple ha consigliato di non abusare dell'immagine di lancio come schermata di splash.Apple Hig

Altri suggerimenti

Puoi implementare facilmente la tua vista sopra la vista principale ma nel tuo appDelegate. Ad esempio, se si desidera un'immagine splash che si sfuma sulla vista principale: (o un'immagine predefinita che sembra svanire: basta mettere la stessa immagine sulla schermata Splash e sulla schermata predefinita). Questo ti dà anche il giusto orientamento fintanto che è la vista principale.

Basta aggiungerlo nel tuo application:(UIApplication *)application didFinishLaunchingWithOptions: metodo:

 UIImageView*imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"your_default_image_or_another.png"]];
[[firstViewController view] addSubview:imageView];
[[firstViewController view] bringSubviewToFront:imageView];

// as usual
[self.window makeKeyAndVisible];

//now fade out splash image
[UIView transitionWithView:self.window duration:1.0f options:UIViewAnimationOptionTransitionNone animations:^(void){imageView.alpha=0.0f;} completion:^(BOOL finished){[imageView removeFromSuperview];}];

Come link ha pubblicato @espresso, voglio solo spiegartelo.

Se si posiziona solo un'immagine denominata Default.png All'interno del tuo progetto verrà utilizzato per la schermata di splash. Tuttavia, è possibile utilizzare un nome di immagine diverso specificandolo esplicitamente nel file plist.

So che sto dando risposta a una domanda di quasi un anno, ma può aiutare qualcun altro-

Ho appena scoperto che puoi farlo in Xcode4! Il che rende questo processo piuttosto semplice ora.

  1. Seleziona il tuo progetto nella vista di navigazione
  2. Sotto gli obiettivi seleziona l'applicazione
  3. Seleziona la scheda Riepilogo
  4. Scorri verso il basso e vedrai un posto dove aggiungere le tue immagini splash
  5. Fare clic con il tasto destro sulle caselle per selezionare il file

Le altre risposte sono buone ma vorrei aggiungere che per le app per iPhone il tuo default.png dovrebbe essere 320x480 e per i display retina dovresti aggiungere default@2x.png 640x960.

In Xcode 4, è possibile fare clic su Nome del progetto (Il genitore nella gerarchia a sinistra).

Poi nel Riepilogo scheda, sotto iPhone e iPad sarai in grado di selezionare il Avvia immagini Per ogni modulo il file system.

Per aggiungere la schermata Splash è sufficiente sostituire tutte le immagini predefinite (likefault@2x.png, ....) con la tua immagine splash con lo stesso nome predefinito (per tutto il tipo di visualizzazione hardware). Per aumentare la durata della schermata splash, nel metodo AppDelegate

didFinishLaunchingWithOptions 

Basta dormire il filo principale per la durata che desideri come:

[NSThread SleepForTimeInterval:(Your time interval)];

Puoi anche usare il sonno (intervallo di tempo) in

didFinishLaunchingWithOptions

sleep(3);

Avendo solo dovuto risolvere lo stesso problema da solo, ho pensato di pubblicare un aggiornamento.

Ho scoperto che dovevo impostare gli orientamenti dell'interfaccia supportati in Info.list prima che funzionasse correttamente.

Ho anche trovato questo articolo su iOSdevelopertips.com abbastanza utile: Gestione di più immagini di lancio

Devi solo aggiungere tre immagini per iPhone, iPhone 5 e iPad denominati default.png, default-568h@2x.png e default@2x.png. Ora la chiarezza delle immagini dipende dalle dimensioni che stai prendendo. Dovresti prendere le dimensioni standard.

Per aggiungere la schermata splash prima aggiungi quell'immagine nel progetto e quindi aggiungi il seguente codice al tuo AppDelegate metodo nel didFinishLaunching metodo

[NSThread SleepForTimeInterval:(Time interval)];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top