2015-09-29 9 views
6

iOS 9.0 (13A340) Xcode 7.0 (7A220) OS X 10.10.5 (14F27)iOS 9 Orientation Auto-Rotation-Animation funktioniert nicht, aber immer auf Hauptthread

ich eine Situation, wo, wenn ich drehe der Simulator oder das Gerät (mit iPhone 6s Sim und iPhone 6+ Gerät), die Animation findet auch nicht statt. Ich bin mir nicht sicher, warum dies geschieht. Ich mache nichts ungewöhnliches oder verrückt mit irgendwelchen Methoden UIKit, und ich rufe keine Methode nicht auf dem Hauptthread auf. Darüber hinaus scheinen andere UIView Animationen, die ich hinzugefügt habe, gut zu funktionieren. Es ist nur die Rotation, die gebrochen ist. Andere Apps scheinen gut zu sein. Ich bin mir nicht sicher, was ich falsch machen könnte.

No rotation animation

Versuche/lösen, um herauszufinden:

  • this extension by Cocoanetics gebraucht, um zu versuchen zu sehen, ob UIKit Ausführung nicht auf dem Haupt-Thread war.
  • Der Wert UIView.areAnimationsEnabled() wurde während der Programmausführung an mehreren Stellen ausgedruckt. Es hat immer true gedruckt.
  • Einstellung UIView.setAnimationsEnabled(true) wurde nicht behoben.

Ich verwende eine benutzerdefinierte „nav“ View-Controller (den ich gemacht): SASlideDrawer (Anmerkung Ich bin nicht das gleiche Problem mit diesem Projekt erlebt allein) Sie

danken.

+1

Ich habe auch dieses Problem - neugierig, was die Lösung ist. – d0nutz1

+0

Nun, ich weiß nicht, was passiert oder geändert hat, aber das ist jetzt behoben ... –

+1

Ja, das ist genau das gleiche Problem, das ich habe ... Haben Sie Ihren Navigationscontroller Stack oder Fenster/View Controller Stack geändert ? Ich glaube, ich habe das gleiche Problem oder ähnliches: http: // stackoverflow.com/questions/33213208/ios-gerät-rotation-instant-snap-eher als animation – Danoli3

Antwort

18

In meinem Fall habe ich Ziels „Haupt Interface“ Set hatte und in application:didFinishLaunchingWithOptions: Ich habe die Schaffung neuer Fenster und neue RootViewController

+0

Dieser Fix arbeitete für mich. Ich habe kein Haupt-Interface, weil ich meinen Nav-Stack manuell in 'application: didFinishLaunchingWithOptions:' –

+0

Brilliant. Vielen Dank. Das gleiche Problem hier. 'Main.storyboard' wird standardmäßig in der Xcode-Vorlage festgelegt, aber ich erstelle meinen Ansichtsstapel im Code. –

0

Ich bin ein ähnlicher Fehler gegenüber.

Die Rotationsanimation erfolgt für die Statusleiste (die die Uhr und das Batteriesymbol enthält), aber die Ansicht selbst ändert nur die Größe, die Seitenumklappanimation wird nicht ausgeführt.

Dies ist etwas wiederholbar - zuerst erfolgt die Rotation korrekt, aber nachdem ich den Registerkarten-Controller-Index programmgesteuert ändern, kann es ausgelöst werden. Nachdem es ausgelöst wurde, tritt die Rotationsanimation für die Ansicht erst auf, nachdem ich die App zurückgesetzt habe.

-Code, wo ich auf die Registerkarte View-Controller ändern und es dann wieder ändern:

[appDelegate.tabBarController setSelectedIndex:0]; 
...code to operate on the code at index 0... 
[appDelegate.tabBarController setSelectedIndex:2]; 
0

Ich habe die allgemeine Einstellung ändern, und löste das Problem, indem Sie das Hauptfenster zu löschen und starten Anzeige-Datei zu leeren.

1

Ich instanziiere meinen eigenen View-Controller-Stack eines Navigationscontrollers im App-Delegaten. Ich habe das Problem behoben, indem ich die Hauptschnittstelle aus der Projektdatei entfernt habe.

Verwandte Themen