Wenn ein UITableViewController mit benutzerdefinierter Animation gedrückt wird, wird der UINavigationItem-Titel immer animiert

8

Ich verwende den folgenden Code als Erweiterung von UINavigationController , um einen View-Controller mit einer benutzerdefinierten Animation zu verschieben:

%Vor%

Wenn Caching aktiviert ist, erhalte ich ein seltsames Animationsverhalten, wenn ich UITableViewController drücke. Der Titel der Push-Ansicht wird angezeigt, nachdem die benutzerdefinierte Animation abgeschlossen wurde. Mit dem Übergangsstil UIViewAnimationTransitionNone wird klar, dass der Titel selbst animiert ist. Es wird von der oberen linken Ecke des Bildschirms in die Mitte von UINavigationBar verschoben.

Wenn das Caching deaktiviert ist, ist diese Animation aufgrund ihrer Geschwindigkeit nicht sichtbar, aber die Bildrate sinkt erheblich.

Wie kann ich verhindern, dass der Titel animiert wird?

    
Sebastian Marr 03.05.2012, 18:31
quelle

3 Antworten

0

Nur ein kurzes Update, was meine Lösung am Ende war. Es war nicht möglich, das Standardverhalten von UINavigationBar zu überschreiben, da iOS die private API zur Implementierung der Animation verwendet. Also habe ich am Ende alle Animationen von UINavigationBar und seinen verschiedenen Unteransichten entfernt, indem ich den folgenden Code benutzt habe:

%Vor%

Es ist wichtig, dass dies nach [self pushViewController:controller animated:NO]; aufgerufen wird.

    
Sebastian Marr 22.07.2012, 14:11
quelle
0

Das Problem ist, dass Sie animieren ganze Ansicht self.view . self.view enthält den View-Controller sowie die UINavigationBar . Daher müssen Sie wahrscheinlich alle Unteransichten von self.view aufrufen und dann nur die view für Ihren View-Controller animieren.

    
Vashishtha Jogi 01.06.2012 02:33
quelle
0

Verwenden Sie diesen Code, um Ihre Navigationsübergangsanimation sehr einfach anzupassen:

%Vor%

und das Gleiche für Push.

** Stellen Sie sicher, dass #import <QuartzCore/QuartzCore.h> in Ihrer Klasse vorhanden ist, und fügen Sie das Framework auch zu Ihrem Projekt hinzu

  

Ziel & gt; Buildphasen & gt; Link Binary mit Bibliotheken & gt; der "+" Knopf & gt;   QuartzCore.framework

. **

    
Neeku 06.06.2012 13:20
quelle