Domanda

Sono ben consapevole del fatto che sono disponibili solo due transizioni UIView, UIViewAnimationTransitionFlipFromLeft e UIViewAnimationTransitionFlipFromRight. Mi chiedo se esiste comunque un modo per implementare / emulare un UIViewAnimationTransitionFlipFromTop o UIViewAnimationTransitionFlipFromBottom.

L'unico modo in cui posso pensare di farlo è capovolgere l'asse x con l'asse y, ma non ho visto alcuna informazione su come farlo. La semplice impostazione delle coordinate di ciascun asse non risolverà il problema in quanto l'asse x finché non rimane l'asse x.

Qualcuno ha qualche idea su come farlo?

È stato utile?

Soluzione

Puoi farlo applicando un CATransform3D al CALayer della tua vista principale, con dietro il CALayer della tua vista secondaria. In questa risposta , indico un'implementazione Mac di questa animazione di Mike Lee. Dovresti essere in grado di riutilizzare una parte significativa di quel codice per ricreare questo effetto su iPhone.

Altri suggerimenti

Suppongo che dovrai usare un blocco di animazione UIView con una trasformazione di rotazione 3D di 90 gradi, fare in modo che il delegato Core Animation ti chiami al termine, scambiare la vista con quella nuova (3D ruotato sull'altro lato) e catena con gli ultimi 90 gradi per la nuova vista ...

Anche se non è esattamente quello che vuoi, ci sono due animazioni integrate che non hai menzionato: UIViewAnimationTransitionCurlDown e UIViewAnimationTransitionCurlUp.

CurlUp sembra che qualcuno stia sbucciando la vista dal basso verso l'alto e CurlDown sembra che la vista venga srotolata dall'alto verso il basso nella parte superiore dello schermo. Dovresti almeno dargli un'occhiata, in quanto sono facili da usare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top