Ändern animation übergang
Ich habe eine app mit NavigationController
. Wie kann ich das ändern animation, transition-Stil pushViewController
und popToViewController
?
UPD
Ich geschaffen Kategorie, wie in @lawicko Antwort. Aber ich bekam die Fehlermeldung, wenn ich versuche, rufen Sie die Funktion
[self.navigationController pushViewController:Orte withCustomTransition:CustomViewAnimationTransitionPush Subtyp:CustomViewAnimationSubtypeFromLeft];
Fehlermeldung lautet : "die Verwendung von nicht deklarierter Bezeichner 'CustomViewAnimationTransitionPush'"
Wo sollte ich erklären, dass diese Teil:
typedef enum {
CustomViewAnimationTransitionNone,
CustomViewAnimationTransitionFlipFromLeft,
CustomViewAnimationTransitionFlipFromRight,
CustomViewAnimationTransitionCurlUp,
CustomViewAnimationTransitionCurlDown,
CustomViewAnimationTransitionFadeIn,
CustomViewAnimationTransitionMoveIn,
CustomViewAnimationTransitionPush,
CustomViewAnimationTransitionReveal
} CustomViewAnimationTransition;
Schreiben, jetzt erkläre ich es in UINavigationController+Additions.h
Update 2: Eine weitere neue Fehler:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_CATransition", referenced from:
objc-class-ref in UINavigationController+Additions.o
"_kCATransition", referenced from:
und die gleichen Fehler foor alle _kCATransitions
das ist ok, aber ich möchte die animation wie in zurück-Taste.. aber setzen Sie es für pushViewController
Verstehe ich nicht wirklich. Sie möchten die animation, die Sie haben, wenn Sie klicken Sie auf zurück (popViewController) die eine ist, wenn Sie drücken Sie die anzeigen (pushViewController)?
ja! ich will die animation wie horizontal verschiebbar ist. aber mit der Richtung nach Links
InformationsquelleAutor Eugene Trapeznikov | 2012-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schauen Sie sich dieses
UINavigationController
Kategorie, die ich erstellt. Es erlaubt Ihnen, schieben und knallen mit so ziemlich jeder möglichen übergänge, und unterstützt auch die Untertypen für QuartzCore-übergänge, die Ihnen erlauben, genau das zu tun, was Sie wollen - schieben Sie die Ansicht von der linken Seite. Machen Sie es wie diese:Den code unten ist. Der erste Teil, das Sie benötigen, um in der header-Teil:
Dieser zweite Teil, den Sie brauchen, um in der Umsetzung Datei:
Nee, nur fügen Sie diesen code in das Kategorie-Dateien (.h für die Schnittstelle .m für die Umsetzung) und stellen Sie sicher, Sie sind in Ihrem Projekt. Dann importieren Sie die header-Datei, wo immer Sie wollen, verwenden Sie die Kategorie-Methode. Wenn Sie Schwierigkeiten haben, zu verstehen, wie Kategorie funktioniert, finden Sie unter hier.
ich Kategorie erstellen.. aber es ist ein Fehler. bitte schauen upd
Ich habe unterteilt den code in zwei, fügen Sie den ersten Teil in den Kopf und der zweite in der Umsetzung-Datei.
ich Tat es in der Weise, die Sie erzählen. kann das problem sein, einige andere Gründe
InformationsquelleAutor lawicko
Müssen Sie
QuartzCore.framework
zu Ihrem Ziel zu lösen_OBJC_CLASS_$_CATransition
Fehler.InformationsquelleAutor fannheyward
Ich vor kurzem in Angriff genommen meinen eigenen übergang, hier ist die wieder verwendbare Bibliothek, die ich gemacht:
https://github.com/travisjeffery/TRVSNavigationControllerTransition
Und hier ist mein blog-post darüber reden, wie zu machen Ihren eigenen übergang.
Die Grundidee ist ziemlich einfach, obwohl, nehmen Sie nur einen CALayer Momentaufnahme der navigationController die (aktuelle) Ansicht, dann push/pop den Blick ab, ohne animation, nehmen Sie einen CALayer snapshot von der neuen Ansicht, und fügen Sie dann Ihre eigene Animationen zu den Ebenen und dann entfernen Sie diese Schichten, sobald die animation abgeschlossen ist.
iOS 7 hat eine Methode dies zu tun, vor allem schnell jetzt...
InformationsquelleAutor travisjeffery