come posso implementare l'animazione che vediamo sullo schermo coverflow dell'app iPhone Music? quando fai clic su una vista piccola, si ribalta e si adatta a un'altra vista? come posso fare questo? Posso usare l'animazione core per capovolgere e scalare una vista, ma come posso eseguire la transizione a un'altra vista? graziecome implementare un'animazione di transizione con vista iPhone sia con il flipping che con il ridimensionamento?
risposta
Avete bisogno di un UIView
come contenitore per i due UIView
s (frontside/retro) e quindi rimuovere/aggiungere questi dal/al contenitore come subviews, mentre facendo le animazioni in mezzo:
UIView *flipContainer;
UIView *frontSide;
UIView *backSide;
//...
-(void)turnUp
{
[backSide removeFromSuperview];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:flipContainer cache:YES];
[UIView setAnimationDuration:1.0];
CGAffineTransform transform = CGAffineTransformMakeScale(1.2, 1.2);
flipContainer.transform = transform;
[UIView commitAnimations];
[flipContainer addSubview:frontSide];
}
-(void)turnDown
{
[frontSide removeFromSuperview];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:flipContainer cache:YES];
[UIView setAnimationDuration:1.0];
CGAffineTransform transform = CGAffineTransformMakeScale(1, 1);
flipContainer.transform = transform;
[UIView commitAnimations];
[flipContainer addSubview:backSide];
}
ha funzionato come un fascino. Grazie! –
Ha! Hai invocato '+ [UIView setAnimationDuration:]' due volte! –
I' Sto provando il codice esatto che stai facendo - ottengo un effetto zoom ma non giro. L'unica differenza è che appena prima del codice di turnUp aggiungo il flipContainer (con la visualizzazione posteriore), quindi può essere capovolto.
// construct animation container
self.flipContainer = [[FlipContainer alloc] init];
[self.flipContainer.view setFrame:CGRectMake(clickedSquareX, clickedSquareY, 200, 200)];
[self.flipContainer.view addSubview:self.backside.view];
// add animation container
[self.myParentView.view addSubview:self.flipContainer.view];
// PROCEED to your turnUp code
La ragione per cui sto facendo questo è che ho un gruppo di immagini in un UIScrollView orizzontale e così all'immagine 'simulare' un 200x200 lanciare sopra e lo zoom per mostrare i dettagli aggiungo la mia flipContainer con la parte posteriore che mostra il immagine esatta sul punto esatto dell'immagine premuta. Dovrebbe funzionare non dovrebbe? Un po 'di confusione per me è la prima riga del codice di risvolto che fate:
[backSide removeFromSuperview];
..che eliminerebbe la vista ho solo aggiunto.
Non sono sicuro se questo è il posto giusto per inserire questa domanda - scusa se non lo è!
- 1. Come lavorare sia con il trattino basso sia con il carattere di sottolineatura allo stesso tempo?
- 2. Come implementare la Vista materializzata con MySQL?
- 3. iOS: Come allineare il centro di una vista con il fondo di un'altra vista con AutoLayout
- 4. come implementare il Cruise Control con QTP?
- 5. Come implementare il timeout con Quartz?
- 6. Come si confronta il ridimensionamento di PostgreSQL con MongoDB?
- 7. Come implementare il polimorfismo con std :: shared_ptr?
- 8. Come implementare il mouse di NSTrackingAreaEntero/Uscito con l'animazione?
- 9. ImageView con angoli arrotondati dopo il ridimensionamento con ScaleType.CenterCrop
- 10. Sia massimizzare che impedire il ridimensionamento su un JFrame?
- 11. Come implementare un'Introduzione di app con animazione vista condivisa
- 12. Come verificare che il dispositivo sia iPhone 5?
- 13. Come associare il ridimensionamento dello stage con il ridimensionamento dei componenti?
- 14. implementare il protocollo con diverso tipo associato
- 15. Come implementare il metodo con il parametro espressione C#
- 16. Ridimensionamento immagine con C#
- 17. implementare il framework di sincronizzazione Microsoft con il dispositivo Android
- 18. Che cos'è il ridimensionamento?
- 19. ridimensionamento layout dinamicamente con ViewFlipper
- 20. Come implementare il pattern Unità di lavoro con Dapper?
- 21. È possibile rendere il modulo JavaScript compatibile sia con NodeJS che con RequireJS?
- 22. Utilizzando SVG CSS3 background-image come con il ridimensionamento
- 23. NPE transizione con con elementi condivisi vuoti
- 24. iPhone: la visualizzazione di flipping mostra uno sfondo bianco
- 25. È possibile analizzare le date sia con TextStyle.SHORT che con TextStyle.FULL per il mese?
- 26. Sostituire ui-vista con il contenuto caricato
- 27. Ridimensionamento immagine con Ritaglio
- 28. Ridimensionamento dei controlli con ridimensionamento modulo
- 29. Come posso configurare il ridimensionamento automatico con boto utilizzando le politiche e le metriche di ridimensionamento?
- 30. Come implementare con successo og: immagine per il LinkedIn
Vedere questa risposta: http://stackoverflow.com/questions/5511514/custom-transition-traw-two-uiviews/8931492#8931492 – aoakenfo
Ho risposto a una domanda simile qui (con codice): http: // stackoverflow. it/questions/19171918/how-can-i-flip-and-enlarge-a-uiview-it-at-the-same-like-ios-7-ipad-app-stor –