risposta-alla-domanda-sullo-sviluppo-web-bd.com

Implementazione di una schermata iniziale in iOS

Sono piuttosto un newbie in Cocoa, Objective-C e iOS.

Mi piacerebbe implementare una visualizzazione che è solo una schermata iniziale e durare solo per un breve periodo prima del routing alla vista principale. Hai qualche idea su come dovrei implementarla? Eventuali tutorial o esempi di codice? Ne ho alcuni con più viste, ma nessuno con un timer per reindirizzare a un altro dopo pochi secondi come voglio fare. 

41
Patrice Cote

Vedi Immagini di avvio dell'app (predefinito) sotto la Guida alla programmazione dell'applicazione iOS.

Va inoltre notato che Apple ha consigliato di NON abusare dell'immagine di avvio come splash screen Apple HIG

40
Espresso

Puoi facilmente implementare la tua vista sulla parte superiore della vista principale, ma nel tuo appDelegate. Ad esempio, se vuoi un'immagine splash che sfuma alla vista principale: (o un'immagine di default che sembra sfumare: basta mettere la stessa immagine sullo splash screen e sullo schermo predefinito) . Questo ti dà anche l'orientamento giusto fintanto che è la vista principale.

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

 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];}];
32
NightCoder

Come link pubblicato da @Espresso, voglio solo spiegartelo.

Se si inserisce un'immagine denominata Default.png all'interno del progetto, verrà utilizzata per la schermata iniziale. Tuttavia è possibile utilizzare un nome immagine diverso specificandolo esplicitamente nel file plist.

12
Waqas Raja

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

Ho appena scoperto che puoi farlo in XCode4! Ciò rende questo processo piuttosto semplice ora.

  1. Seleziona il tuo progetto nella visualizzazione di navigazione 
  2. sotto Targets seleziona la tua 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 su Seleziona file
11
Bharat

Le altre risposte sono buone, ma mi piacerebbe aggiungere che per le app per iPhone il tuo Default.png dovrebbe essere 320x480 e per le visualizzazioni della retina dovresti aggiungere [email protected] 640x960.

6
nylund

In XCode 4, puoi fare clic su Nome progetto (il genitore nella gerarchia a sinistra).

Quindi nella scheda Riepilogo , in iPhone e iPad sarà possibile selezionare Avvia immagini per ogni modulo del file system.

4
Flaviu

Per aggiungere splash screen basta semplicemente sostituire tutte le immagini predefinite ([email protected], ....) con l'immagine splash con lo stesso nome predefinito (per tutto il tipo di visualizzazione hardware) . Per aumentare la durata del tuo splash schermo, nel metodo appDelegate

didFinishLaunchingWithOptions 

basta dormire il thread principale per la durata desiderata come:

[NSThread SleepForTimeInterval:(Your time interval)];

puoi anche usare il sonno (intervallo di tempo) in

didFinishLaunchingWithOptions

sleep(3);
3
user2834776

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

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

Ho anche trovato questo articolo su iOSDeveloperTips.com molto utile: Gestione di più immagini di avvio

3
HaemEternal

Devi solo aggiungere tre immagini per iPhone, iPhone 5 e iPad denominate Default.png, [email protected] e [email protected] Ora la chiarezza delle immagini dipende dalle dimensioni che stai prendendo. Dovresti prendere le misure standard.

2
Ashutosh

Per aggiungere lo splash screen, aggiungi prima quell'immagine nel tuo progetto e poi aggiungi il seguente codice al tuo metodo AppDelegate nel metodo didFinishLaunching

[NSThread SleepForTimeInterval:(Time interval)];
1
Ashwin H

Nel mondo iOS è chiamato - Launch Screen ed è uno schema generale.

Puoi fornire una schermata di avvio come uno storyboard Xcode o come un set di immagini statiche per i dispositivi supportati dalla tua app. L'utilizzo dello storyboard Xcode è l'approccio consigliato, poiché gli storyboard sono flessibili e adattabili.

Ad esempio, quando crei un nuovo progetto a vista singola, viene avviato automaticamente uno schermo LaunchScreen.storyboard. Per cambiarlo basta andare <Project> -> General -> App Icons and Launch Images

0
yoAlex5