2012-07-20 10 views
9

Ho lavorato a un'applicazione che è un clone di iBooks e negli ultimi 2 giorni ho cercato di animare il flusso della copertina del libro come l'app di iBook.Effetto transizioni UIViewControllers Come effetto apertura libro iBook?

Si tratta di un iBook ScreenShot, ho il mio scaffale esattamente così:

enter image description here

Quando l'utente tocca qualsiasi libro che voglio per eseguire la transizione di animazione come questo:

enter image description here

enter image description here

È possibile vedere la baia del libro r flip on left e white view è del nuovo viewcontroller che serve per caricare il contenuto del libro.

Qualcuno può aiutarmi per favore con questo problema? Voglio eseguire esattamente la stessa animazione. con due viewcontrollers.

+1

simile domanda: http://stackoverflow.com/questions/8499601/open-close-unfolding-book-animation-in-ibooks –

+0

Grazie per la risposta, ma probabilmente c'è una differenza tra l'animazione UIView e l'animazione UiViewController. – munibsiddiqui

+0

Si potrebbe/probabilmente implementare questo come un seguito personalizzato se si desidera passare tra due controller di vista. Il codice sarebbe simile alla transizione tra due viste. Credo che negli ultimi anni il video della sessione WWDC per Core Animation avesse un seguito personalizzato (con fire: P) alla fine del video. –

risposta

0

non sono sicuro, ma potrebbe essere che tu possa provare UIPageViewController, ti darà effetto libro. qui è il link: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIPageViewControllerClassReferenceClassRef/UIPageViewControllerClassReference.html

+0

Grazie per la rapida risposta, ma sir UipageViewController dà l'effetto di arricciatura durante la rotazione delle pagine che ho già raggiunto, quello che voglio è l'effetto di apertura della copertina del libro – munibsiddiqui

1

Legenda: LibraryViewController - scaffale con libri thingy ReadingViewController - il ViewController in cui si verifica la lettura (vedi ultima immagine della questione)

Diciamo che il coperchio è UIImageView. Utilizzando iOS 5.0 o versione successiva è possibile aggiungere readingViewController come sottoview di LibrabryViewController. Quindi una delle animazioni sta eseguendo lo zoom del libro (letturaViewController + UIIMageView). Suggerisco qui di animare un UIView che è un contenitore di entrambi. secondo è fliping il coperchio:

UIIMageView.transform = CGAffineTransformMake(a,b,c,d,tx,ty); Penso A e D dovrebbe essere -1 qui See more for CGAffineTransform

P.S. Questo sembra un problema interessante. Per favore fatemi sapere se il mio metodo suggerito è possibile!

4

Check it out May B questo può aiutare:

coverView.layer.anchorPoint=CGPointMake(0, .5); 
    coverView.center = CGPointMake(coverView.center.x - coverView.bounds.size.width/2.0f, coverView.center.y); 

    NSLog(@"%f",coverView.layer.anchorPoint.y); 

    [UIView animateWithDuration:.5 delay:0 options:UIViewAnimationCurveEaseIn animations:^{ 
     coverView.transform = CGAffineTransformMakeTranslation(0,0); 
     CATransform3D _3Dt = CATransform3DIdentity; 
     _3Dt =CATransform3DMakeRotation(3.141f/2.0f,0.0f,-1.0f,0.0f); 
     _3Dt.m34 = 0.001f; 
     _3Dt.m14 = -0.0015f; 
     coverView.layer.transform =_3Dt; 
    } completion:^(BOOL finished){ 
     if (finished) { 
      [self animateCurrentViewController]; 
      [self toolBarAndNavigationBarNeedToShow:YES]; 
     } 
    }]; 

CoverView non è altro che ur di vista

+0

I valori m34 e m14 funzionano bene per iPhone, ma non per iPad. –

5

Ho codice un ibook effetto aperta demo su GitHub, si può vedere iBooksOpen

+0

hi Guo, posso usare il tuo progetto iBooksOpen nella mia app?Non riesco a trovare la licenza. È open source? Grazie – Max