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:
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.
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.
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!
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.
Tags und Links objective-c ios core-animation ipad cocoa-touch