2012-07-20 24 views
9

Ich habe an Anwendung gearbeitet, die ein Klon von iBooks ist, und für die letzten 2 Tage habe ich versucht, den Buchumschlag Flow wie iBook App durchführen zu animieren.UIViewControllers Übergänge Effekt Wie iBooks Buchöffnungseffekt?

Dies ist ein iBooks ScreenShot, ich habe gerade mein Bücherregal wie folgt aus:

enter image description here

Wenn der Benutzer tippt auf jedem Buch, das ich Animation Übergang wie dies ausführen möchten:

enter image description here

enter image description here

Sie können die Buch Bucht sehen r kippen auf der linken und weißen Ansicht ist der neue viewcontroller, der zum Laden des Inhalts des Buches ist.

Kann mir bitte jemand helfen mit diesem Problem? Ich möchte genau die gleiche Animation ausführen. mit zwei Viewcontrollern.

+1

ähnlich sehen Frage: http://stackoverflow.com/questions/8499601/open-close-unfolding-book-animation-in-ibooks –

+0

Danke für die Antwort, aber prob gibt es einen Unterschied zwischen UIView Animation und UiViewController Animation. – munibsiddiqui

+0

Sie könnten/würden dies wahrscheinlich als benutzerdefinierten Übergang implementieren, wenn Sie zwischen zwei View-Controllern wechseln möchten. Der Code wäre ähnlich wie der Übergang zwischen zwei Ansichten. Ich glaube, dass das WWDC-Session-Video der letzten Jahre für Core Animation am Ende des Videos einen eigenen Übergang (mit Feuer: P) hatte. –

Antwort

0

Ich bin mir nicht sicher, aber vielleicht können Sie UIPageViewController versuchen, es wird Ihnen Buch-Effekt geben. hier ist Link: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIPageViewControllerClassReferenceClassRef/UIPageViewControllerClassReference.html

+0

Danke für die schnelle Antwort, aber Sir UipageViewController gibt ur curl-Effekt während des Drehens Seiten, die ich bereits erreicht habe, was ich will, ist der Buchdeckel Eröffnungseffekt – munibsiddiqui

1

Legende: LibraryViewController - das Regal Dingen mit Büchern ReadingViewController - die Viewcontroller wo das Lesen (siehe letztes Bild der Frage) tritt

Nehmen sich die Abdeckung UIImageView ist. Mit iOS 5.0+ können Sie readingViewController als Unteransicht von LibrabryViewController hinzufügen. Dann zoomt eine der Animationen das Buch (readingViewController + UIIMageView). Ich schlage vor, hier eine UIView zu animieren, die ein Container von beiden ist. zweite ist Fliping die Abdeckung:

UIIMageView.transform = CGAffineTransformMake(a,b,c,d,tx,ty); Ich denke, a und d sein sollte -1 hier See more for CGAffineTransform

P. S. Dies scheint ein interessantes Problem zu sein. Bitte lassen Sie mich wissen, ob meine vorgeschlagene Methode möglich ist!

4

Check it out kann dieser Ihnen helfen kann b:

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 ist nichts anderes als ur Ansicht

+0

Die m34 und m14 Werte funktionieren gut für iPhone, aber nicht iPad. –

5

Ich habe Code ein ibook offen Effekt Demo auf Github, können Sie iBooksOpen

+0

Hallo Guo, kann ich Ihr iBooksOpen-Projekt in meiner App verwenden?Ich kann die Lizenz nicht finden. Ist es Open Source? Vielen Dank – Max