Drehen, Wachsen und Translate Animation

8

Schau dir dieses Video der MLB At Bat App an. Im Grunde möchte ich nur einen modalViewController mit dem UIModalPresentationFormSheet Stil darstellen und ihn aus einer anderen Ansicht heraus wachsen lassen. Wie wenn Sie ein Spiel in der Anzeigetafel der MLB-App tippen. Weiß jemand, wie ich das schaffen kann?

Danke

BEARBEITEN: Meine Hauptansicht ist so ziemlich die gleiche Einstellung wie die MLB-App. Ich verwende AQGridView und möchte, dass die Animation ausgeführt wird, wenn eine Zelle in der Rasteransicht angetippt wird.

BEARBEITEN SIE 2: Ich wäre auch offen dafür, das UIViewController -Konzept zu verwerfen und einfach eine einfache UIView zu verwenden, dann repliziere den Stil von UIModalPresentationFormSheet manuell, wenn das einfacher ist.

BEARBEITEN SIE 3: Okay, vergessen Sie nicht% UIViewController zu verwenden, da ich keine Antworten erhalten habe, nehme ich an, dass es nicht möglich ist. Meine neue Frage ist nur, wie repliziere ich die Animation im geposteten Video mit nur UIView s? Im Grunde muss die anfängliche Ansicht gleichzeitig wachsen, sich bewegen und spiegeln.

BEARBEITEN SIE 4: Ich denke, dass ich die tatsächliche Animation herausgefunden habe, jetzt ist mein einziges Problem, Koordinaten zu berechnen, um in CATransform3DTranslate einzufügen. Meine Ansicht muss genau wie im Video animiert werden. Es muss über eine andere Ansicht beginnen und in die Mitte des Bildschirms animieren. So versuche ich, die Koordinaten für die Ansicht zu berechnen, die in der Mitte erscheint:

%Vor%

gridView ist die Containeransicht meiner Hauptansicht, die die kleineren Rasterelemente enthält. view ist das spezifische Rasterelement, von dem wir animieren. Und detailView ist die Ansicht, die in der Mitte des Bildschirms erscheint.

    
edc1591 06.04.2012, 01:29
quelle

5 Antworten

1

OK, ich habe es herausgefunden. Folgendes habe ich getan:

%Vor%

Ich mache das mit einem Gegenstand in AQGridView . In meinem Codebeispiel view ist die Instanz von AQGridViewCell , die ich animiere. Und vc.view ist mein Detail UIViewController / UIView , das ich zeige.

    
edc1591 16.04.2012, 20:51
quelle
6

Sie können Ihren eigenen Übergang mithilfe einer Kategorie in UIViewControler implementieren.

UIViewController + ShowModalFromView.h

%Vor%

UIViewController + ShowModalFromView.m

%Vor%

Dies kann leicht geändert werden, um den gewünschten animierten Übergang zu verwenden. Vielleicht möchten Sie eine CA3DTransform verwenden. Hoffe das hilft!

    
sgonzalez 06.04.2012 03:15
quelle
1

Um Animationen zu drehen, zu vergrößern und zu übersetzen, können Sie den folgenden Code verwenden:

%Vor%

Hoffe, das hilft!

    
sgonzalez 15.04.2012 20:28
quelle
0

Ich würde empfehlen, einen Blick auf diesen Beitrag zu werfen.

Sie sollten nicht wirklich alle diese Animationen selbst handhaben müssen.

Wenn Sie die UIView -Klassenmethode verwenden transitionFromView: toView: Dauer: Optionen: Vervollständigung: und Weitergabe in UIViewAnimationOptionTransitionFlipFromLeft oder UIViewAnimationOptionTransitionFlipFromRight - Ganz gleich, wie die Animation aussehen soll umdrehen.

Ich habe das gleiche wie in der MLB-App mit dieser Methode implementiert. Ihre from view wäre die Zelle im Gitter und die to view wäre die Sache, die auf der "Rückseite" der Zelle wäre.

Ich hoffe, dies wird den gesamten benötigten Code reduzieren.

    
njkremer 02.07.2012 17:53
quelle
0

Ich würde eine UICollectionView mit einer benutzerdefinierten UICollectionViewCell verwenden und mit ihrem Delegat-Aufruf animieren ... Nur ein Beispiel für andere, um auszuwählen.

%Vor%     
FreeAppl3 16.04.2013 19:58
quelle