2009-06-29 3 views
7

Sto cercando tutorial per la creazione di transizioni di visualizzazione personalizzate.Iniziare a creare transizioni di visualizzazione personalizzate

In particolare, le transizioni che coinvolgono elementi diversi dalle solo UIViews, come la riproduzione di un'animazione durante la transizione mentre sta avvenendo o la modifica di uno screenshot di UIView in fase di transizione.

Non intendo implementare il set di base delle transizioni (diapositiva, dissolvenza, ecc.) Per cui sono disponibili numerosi esempi sul sito Apple. Sto parlando di aggiungere video/audio/animazione aggiuntiva mentre avvolgo tutto in una transizione riutilizzabile.

Ho una vaga familiarità con alcuni dei toolkit sottostanti (core-animation e quarzo) ma sto cercando un'esercitazione senza precedenti sull'argomento.

risposta

6

Ho appena creato una classe di transizione per implementare la propria animazione in OpenGL ES.

Sentitevi liberi di leggere su di esso here

0

Ecco una guida rapida per utilizzare le transizioni UIView standard. http://chris-software.com/index.php/dev-center/view-transitions/

Se si desidera dissolvenza in una vista utilizzare qualcosa come questo. Funziona con qualsiasi tipo di elemento con una proprietà alpha, come UIImageViews, ecc. someView.alpha = 0; [viewController.view addSubview: someView];

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:.5]; 
[UIView setAnimationDelegate:self];  
someView.alpha = 1; 
[UIView commitAnimations]; 
+4

che non è proprio quello che voglio dire da 'personalizzato'. È piuttosto semplice. Sto cercando qualcosa in cui la vista è piegata in un aeroplano di carta e fa rumori di zoom mentre vola fuori dallo schermo, o una mano arriva e la accartoccia e la getta in un cestino. Animazione, audio, video sovrapposti ... – Sam

4

Le animazioni di CoreAnimation funzionano registrando le differenze in un sottoinsieme molto specifico delle proprietà di UIView. Non rispondono a nessuna proprietà definita dall'utente e semplicemente non eseguono transizioni più avanzate di quelle che hai già visto nelle demo. Puoi prendere uno screenshot della tua vista corrente, salvarlo come trama, nascondere la vecchia visualizzazione e mostrare contemporaneamente una vista OpenGL. Quindi, utilizzando la trama dello screenshot e varie animazioni mesh, è possibile eseguire il rendering della transizione personalizzata (inclusa la fusione alfa attorno ai bordi spiegazzati/piegati), quindi eliminare la vista OpenGL per rivelare completamente la vista di destinazione. Sembra un progetto divertente, e saresti in rara compagnia per realizzarlo.

+0

Questo ha molto senso. Grazie. Purtroppo, probabilmente non avrò la possibilità di implementarlo - stavo facendo delle ricerche per vedere come soddisfare i requisiti di un contratto che andava svanendo. Speriamo che questo sia utile per qualcuno in futuro, però. – Sam