• 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#021 – Creiamo un effetto di transizione tra UIView

By Luigi Marino | on 19 Gennaio 2010 | 10 Comments
Senza categoria

In questo nuovo tutorial vedremo come passare da una view ad un’altra utilizzando un collegamento (ad esempio un pulsante) presente nella prima View e come dalla seconda Vista, possiamo ritornare nuovamente alla prima. Applicheremo a tutto questo un piccolo effetto di transizione che sicuramente risulterà più piacevole in fase di esecuzione del programma.

L’effetto che implementeremo è una semplice rotazione della vista come mostrato in figura:


T#021 - Immagini effetto animato

Passiamo subito alla parte operativa.

Dal menu File creiamo un nuovo file XIB (File -> New File –> User Interface -> View Xib) ed assegniamogli un nome (nel nostro caso lo chiameremo “Info”).

Sempre dal menu file creiamo i file che controlleranno la nostra vista il file di intestazione .h e quello di implementazione .m: File -> New File -> UiViewController SubClass. Chiamiamo anche questi file “Info”.
Otterremo così 3 nuovi file: Info.xib, Info.h ed Info.m.

Apriamo il file Xib ed occupiamoci subito di assegnare al File’s Owner la Class Identity, che nel nostro caso sarà la classe appena creata “Info”.

Per chi non fosse ancora pratico ripetiamo i passaggi da compiere:
cliccate due volte sul file Info.Xib, si aprirà una finestra con una lista di oggetti (Files Ownwer, Fist Responder, View). Selezioniamo File’s Owner e dal menu Tool selezioniamo Identity Inspector. Alla voce Class della sezione Class Identity inseriamo il nome della nostra classe, cioè Info).

Apriamo ora la view e personalizziamola come vogliamo.

Inseriamo, dalla libreria, una Navigation Bar (menu Tools -> Library) ed un Bar Button Item che sarà il “tastino” che consentirà all’utente di passare alla seconda View.

Apriamo nuovamente la Libreria ed inseriamo nel nostro file Info.Xib una nuova UIVIew, quindi personalizziamola. Sarà proprio questa la seconda vista che andremo a caricare. Inseriamo anche qui una Navigation Bar ed un Bar Button Item che sarà l’elemento che, alla pressione, ci permetterà di ritornare alla vista precedente


t021 - quarta immagine Interface Builder

Fatta questa operazione passiamo a modificare i file .h e .m.

Nel file di intestazione .h dichiariamo una nuova view (con un nome che identifichi la seconda view da richiamare) in questo modo:

UIView *istruzioni;

e settiamola come IBOutlet in questo modo :

@property (retain,nonatomic) IBOutlet UIView *istruzioni;

dichiariamo infine in due metodi che useremo per passare da una vista all’altra e che assegneremo ai pulsanti:

-(void)showIstruzioniPage:(id)sender;
-(void)removeIstruzioniPage:(id)sender;

Ritorniamo nuovamente al nostro Info.xib, facciamo doppio-clic sulla prima View e selezionando il File’s Owner dal menu Tools accediamo al Connection Inspector.

Alla voce Outlets troveremo delle nuove voci, colleghiamo quindi la vista “istruzioni” (che costituisce la nostra seconda vista) alla seconda UIView creata in precedenza ed il metodo “showIstruzioniPage” al “Bar Button Item” inserito in precedenza nella Navigation della prima UIView.

Apriamo ora la seconda View e colleghiamo il metodo “RemoveIstruzioniPage” al tasto, creato sulla navigation bar, che avremo designato come l’elemento che ci permetterà di ritornare nuovamente alla vista precedente


t021 - Quinta immagine Interface Builder

Il lavoro è quasi terminato, non resta che modificare il file di implementazione Info.m in questo modo:

-(void)removeIstruzioniPage:(id)sender
{
	[UIView beginAnimations:nil context:nil];
	[UIView setAnimationDuration:1.0];
	[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
						   forView:[self view]
							 cache:YES];
	[istruzioni removeFromSuperview];

	[UIView commitAnimations];		
}

-(void)showIstruzioniPage:(id)sender
{
	
	[UIView beginAnimations:nil context:nil];
	[UIView setAnimationDuration:1.0];
	[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
						   forView:[self view]
							 cache:YES];
	[[self view] addSubview:istruzioni];
	[UIView commitAnimations];	

}

I metodi esposti sopra contengono due istruzioni fondamentali:

[[self view] addSubview:istruzioni];

e

[istruzioni removeFromSuperview];

che scritte da sole permetterebbero ugualmente di passare da una vista all’altra.

Il restante codice, invece, ci permette di creare e applicare una piccola animazione per rendere il passaggio da una vista all’altra un po’ più gradevole e meno netto.

Alla prossima.


Friend Phone Locator Banner

Share this story:
  • tweet

Tags: animazionieffetto transizioneObjective-cprogrammazioneTutorial Praticiuiview

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

  • Microservizi per logiche applicative di grandi dimensioni

    27 Luglio 2016 - 0 Comment
  • Uno sguardo al runtime Objective-c

    10 Settembre 2013 - 0 Comment
  • Andrea Picchi: Programmare con Objective-C 2.0 per iOS e OS X

    27 Febbraio 2013 - 10 Comments

Author Description

10 Responses to “T#021 – Creiamo un effetto di transizione tra UIView”

  1. 19 Gennaio 2010

    Spinoricky

    Complimenti per la guida!

  2. 20 Gennaio 2010

    Spinoricky

    @ Staff DevAPPi : Ho realizzato questo contest sul mio blog :

    http://iale10.wordpress.com/2010/01/19/iale10s-ti-regala-alcune-applicazioni/

    Puoi renderti partner del contest e farmi pubblicità?

  3. 7 Febbraio 2010

    Ragazzetto

    Scusate saranno 2 domande stupide ma le faccio lo stesso :
    come si può impostare lo sfondo nero durante l ‘ animazione ?
    mi succede una cosa strana , se eseguo tutta la guida sui file info non mi funziona , o meglio l app parte ma non si vedono le viste del file info.xib , se invece eseguo la guida all interno dei viewcontroller dell app funziona tutto anche se comenque mi da 2 warning:

    – property ‘istruzioni’ requires method ‘-istruzioni’ to be defined – use @synthesize, @dynamic or provide a method implementation

    -property ‘istruzioni’ requires the method ‘setIstruzioni:’ to be defined – use @synthesize, @dynamic or provide a method implementation

    ???
    Qualche idea ?
    Grazie in anticipo !
    in ogni caso scusate l ignoranza !

    Ultima domanda se invece volessi utilizzare il classico tastino ” info ” come devo fare quando al momento del collegamento con showIstruzioniPage o removeIstruzioniPage mi appare la lista delle azioni ?

  4. 22 Febbraio 2010

    guy

    grazie raga……. siete i migliori…..

  5. 18 Luglio 2010

    Nico95

    E se volessi settare un altro colore come background dell animazione come si fa?

  6. 18 Settembre 2010

    Gianluca

    Come faccio a farlo in una Navigation Based Application?

  7. 2 Novembre 2010

    Creare un effetto di transizione tra UIView | devAPP

    […] spunto da un nostro vecchio articolo, in cui viene mostrato come applicare un effetto di transizione animato tra UIView […]

  8. 3 Dicembre 2010

    Texano

    Ciao, le animazioni di questo tipo sono applicabili anche ad un ImageView sostituendo l’immagine da codice ? Grazie in anticipo !

  9. 4 Giugno 2011

    Tommaso

    si può fare la stessa cosa su una image view?

  10. 5 Giugno 2011

    MaveDev

    Credo proprio che il tutorial dia per scontato che ci si trovi in un progetto gia’ funzionante a cui si puo’ aggiungere la nuova funzionalita’ per il passaggio da una view ad una nuova, pero’ manca di fare riferimento al fatto che nel file .h deve essere definita la “vistaUno” che deve essere caricata all’avvio dell’applicazione tramite la sua dichiarazione nella viewDidLoad tramite “self.view = vistaUno”.
    Ho aggiunto la dichiarazione della vistaUno e caricata nella viewDidLoad e adesso funziona.

    grazie anche per questo Tutorial, molto bello l’effetto di transizione tra due View 🙂

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