• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

T#025 – Creiamo una Splash Screen e gestiamo la sua durata via codice

By Redazione | on 20 Febbraio 2010 | 13 Comments
Senza categoria

Tutorial 025 - Splash Screen e tutorial all'opera in iPhone Simulator Oggi vedremo come creare una Splash Screen e come personalizzare la sua durata di visualizzazione nella nostra applicazione. Premettiamo che come Splash Screen Apple raccomanda l’uso di una semplice immagine di dimensioni 320×480 pixel di nome Default.png da inserire nel bundle dell’app. Questa, sempre secondo le raccomandazioni Apple, dovrebbe contenere una rappresentazione dell’applicazione avviata, in modo da “illudere” l’utente con un’apparente riduzione dei tempi di caricamento dell’app stessa. Certo è che, nonostante le raccomandazioni Apple, potreste avere esigenze diverse e aver bisogno di costruire una vostra View personalizzata da usare ad esempio come Disclaimer. In questo caso, molto probabilmente, vorreste sicuramente poter gestire la sua durata, o anche solo la sua “cancellazione” tramite un tocco.

Vediamo una possibile soluzione. Apriamo Xcode, creiamo un nuovo progetto, dall’elenco dei template disponibili scegliamo “Tab Bar Application” e proseguiamo. Diamo un nome al nostro progetto, ad esempio “disclaimer”, scegliamo in che posizione salvarlo e andiamo avanti.

Eccoci con il nostro progetto pronto. Se clicchiamo ora su “Build and Run” otterremo un risultato come quello mostrato in figura qui in basso, ovvero, si aprirà direttamente la nostra app mostrando direttamente la UITabBar con i suoi elementi e la prima View:


T#025 - Avvio programma senza splash screen

Creiamo quindi la nostra Splash Screen personalizzata. Clicchiamo con il pulsante destro del mouse su “Classes” in “Groups & Files”, quindi su “Add” ed infine su “New File…”

Clicchiamo su “Cocoa Touch Class” sotto la sezione iPhone e tra i template di file scegliamo “UIViewController subclass”, accertiamoci che ci sia la spunta su “With XIB for user interface” e clicchiamo su “Next”. Nella nuova finestra diamo un nome, ad esempio mySplash, e mettiamo la spunta su Also create “mySplash.h” prima di confermare.

Apriamo il file “mySplash.h” e modifichiamo il codice come segue:

#import 

@interface mySplash : UIViewController {

}

- (IBAction)dismissSelf:(id)sender;

@end

Abbiamo semplicemente aggiunto la dichiarazione di un metodo, di nome dismissSelf, che assoceremo ad un pulsante creato tramite Interface Builder (IBAction indica proprio che si tratta di un’azione per IB), che ci permetterà di avviare l’applicazione e nascondere la splash tramite un semplice tocco sul pulsante.

Vedremo anche come gestire la scomparsa sella Splash Screen tramite un tempo predefinito e da noi scelto, controlleremo quindi la sua durata.

Passiamo al file “mySplash.m” e modifichiamo il codice come mostrato qui in basso:

- (IBAction)dismissSelf:(id)sender
{
        [self dismissModalViewControllerAnimated:YES];
}

- (void)dismiss
{
        [self dismissModalViewControllerAnimated:YES];
}

- (void)viewDidLoad {
        [super viewDidLoad];
        [self performSelector:@selector(dismiss) withObject:self afterDelay:8];
}

Come vedete abbiamo usato una semplice istruzione che non fa altro che nascondere la Splash Screen. I due metodi sfruttano di fatto la stessa identica istruzione, solo che il primo lo assoceremo al pulsante, il secondo al nostro “timer”. Nel viewDidLoad potete notare come abbiamo settato un tempo di visualizzazione di 8 secondi per la splash, tramite “afterDelay:8”. Sarà questo valore che, una volta modificato, vi permetterà di aumentare o diminuire la durata della vostra Splash Screen.

Possiamo ora aprire il file mySplash.xib, facendo semplicemente doppio click sopra di esso, per iniziare a disegnare la nostra View personalizzata da usare come Splash Screen. Ricordate di inserire un pulsante al suo interno (UIButton). Cliccate quindi su “File’s Owner”, andate nella finestra “My Splash Connections” e collegate il metodo “dismissSelf:” con il tasto appena inserito. Ricordate di scegliere “Touch Up Inside” dal menù contestuale che si aprirà al rilascio del mouse sul pulsante. Terminato il vostro lavoro Salvate e chiudete Interface Builder.

Ancora poche righe di codice e il lavoro sarà terminato. Apriamo ora il file “…AppDelegate.h”, nel nostro caso “disclaimerAppDelegate.h” e importiamo il file di intestazione “mySplash.h”, semplicemente aggiungento la seguente istruzione subito sotto l’importazione dell’UIKit:

#import "mySplash.h"

Salviamo e apriamo il rispettivo file “disclaimerAppDelegate.m”. Modifichiamo quindi il codice come segue:

#import "disclaimerAppDelegate.h"

@implementation disclaimerAppDelegate

@synthesize window;
@synthesize tabBarController;

- (void)applicationDidFinishLaunching:(UIApplication *)application {
        // Add the tab bar controller's current view as a subview of the window
        [window addSubview:tabBarController.view];
	
	mySplash *splashView = [[mySplash alloc] initWithNibName:@"mySplash" bundle:nil];
	splashView.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
	[tabBarController presentModalViewController:splashView animated:NO];
	[splashView release];
}

Come vedete abbiamo aggiunto quattro righe di codice, saranno proprio queste a mostrarci la nostra personalissima Splash Screen prima dell’avvio dell’app vera e propria, in questo caso basata su TabBar.

Possiamo salvare e cliccare su “Build and Run” per testare il nostro lavoro su iPhone Simulator o direttamente sul nostro dispositivo, iPhone o iPod Touch.

Ecco uno screenshot del nostro progetto in esecuzione:


Tutorial 025 - Splash Screen e tutorial all'opera in iPhone Simulator


AvShop Banner

Share this story:
  • tweet

Tags: durata splash screensplash screentimertutorialTutorial PraticiuitabbarXcode

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • Con Xcode 6.3 arriva il Crash Log Organizer

    26 Febbraio 2015 - 0 Comment
  • Xcode-project-generator: uno script per creare velocemente progetti Xcode

    21 Ottobre 2014 - 1 Comment
  • Xcode Tips & Tricks: Gestione del filesystem, un progetto più versioni, plugin

    12 Novembre 2013 - 4 Comments

Author Description

13 Responses to “T#025 – Creiamo una Splash Screen e gestiamo la sua durata via codice”

  1. 20 Febbraio 2010

    Byteros

    Utilissimo tutorial, la mia splash si toglie da sola 🙁
    Con il 3G va benissimo, ma col 3GS mica tanto…

  2. 20 Febbraio 2010

    Staff devAPP

    Ciao, in realtà il tutorial è stato fatto con un 3GS, apri un topic sul forum con il tuo codice.. vediamo cosa c’è che non va 😉

  3. 21 Febbraio 2010

    Byteros

    No no… mi sono espresso male…
    Alla mia App si toglie da solo, alla quale non ho applicato questo codice 😀
    ma ho solo inserito l’immagine.

  4. 21 Febbraio 2010

    Luigi

    Si ma infatti la splash si toglie da sola…questo codice è utile in caso di un disclaimer da visualizzare subito dopo la splash oppure per visualizzare, per esempio, un messaggio pubblicitario/info

  5. 10 Marzo 2010

    Avviare automaticamente un metodo dopo un tempo prestabilito | devAPP

    […] vedere un esempio pratico di quanto descritto nel nostro Tutorial numero 25, in cui gestiamo la durata di una Splash Screen con questo […]

  6. 8 Maggio 2010

    Fra

    Ho inserito tutto il codice ma quando compilo non si vede niente

  7. 24 Giugno 2010

    Diego

    Devi aggiungere
    [window makeKeyAndVisible];
    in didFinishLaunchingWithOptions

  8. 5 Luglio 2010

    Gabry

    io ho fatto tutto quello che hai scritto nel tutorial, ma mi succede che mostra la splash screen per un secondo (quando nel codice c’è scritto 8) e poi mi si chiude il programma e non fa vedere la tab bar.

    come mai?

  9. 21 Gennaio 2011

    Michele

    Ciao ho seguito il tutorial e sono riuscito a realizzare la splash screen…solo che si vede per un secondo e poi scompare subito…vorrei sapere che istruzioni devo utilizzare per farla vedere per qualche secondo in pù

  10. 3 Maggio 2011

    Pier Angelo

    anch’io ho seguito alla lettera il tutorial ma la splash screen si vede per un secondo e non si vede neanche il tasto inserito
    Aiutatemi

  11. 8 Giugno 2011

    MaveDev

    Grazie per il tutorial, io ho il problema inverso da tutti gli altri, la mia splash screen viene visualizzata pero’ poi non scompare piu’ fino a che non premo il tasto.

    Comunque si mancava il “[window makeKeyAndVisible];”
    in didFinishLaunchingWithOptions, mi sa’ che pero’ e’ questa istruzione che poi non fa’ funzionare il contatore per far sparire la splash screen.

  12. 8 Giugno 2011

    MaveDev

    Ok come non detto, mancava il “[window makeKeyAndVisible];”
    in didFinishLaunchingWithOptions, ma avevo scritto male la funzione per la durata della Splash, adesso funziona tutto, grazie ancora!

  13. 1 Dicembre 2011

    Piero

    Salve ho provato ad utilizzare questa splash per un rss reader….
    ho aggiunto le due classi della splash e ho ripetuto il tutorial ma nulla….non mi esce nessuna schermata introduttiva va direttamente alla tabella del sito che ho caricato…..

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO