Ich habe folgende View-Controller eingerichtet:In iOS6, Probleme zwingen Viewcontroller auf bestimmte interfaceOrientation wenn auf Stapel geschoben
viewController1 Lage drehen, den Kopf frei zu einem beliebigen Ausrichtung außer Porträt.
ViewController2 wird über ViewController1 geschoben, und ich möchte, dass es die gleiche Ausrichtung ViewController1 ist und ich möchte, dass es nicht in der Lage zu drehen ist.
viewController3 wird über viewController2 geschoben. Ich möchte, dass viewController3 im Hochformat ist.
Ich habe eine Menge Probleme versucht, dies in iOS6 zu erreichen (noch nicht in iOS5 versucht). Zunächst einmal habe ich erstellt bereits eine eigene Navigation Controller und setzen folgendes drin:
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [self.topViewController preferredInterfaceOrientationForPresentation];
}
- (NSUInteger)supportedInterfaceOrientations
{
return [self.topViewController supportedInterfaceOrientations];
}
- (BOOL) shouldAutorotate
{
return [self.topViewController shouldAutorotate];
}
Ich habe versucht, viele verschiedene Kombinationen dieser Dinge nützen zu wissen. Vor allem, wo ich Probleme habe, zwinge ich vc3 dazu, als Porträt dargestellt zu werden, wenn vc2 im Querformat ist. Jede Hilfe wäre willkommen.
Sie also überprüfe ich meine muss es als modalview schieben, um seine Rotation zu erzwingen? Ich kann es nicht auf den Navigationsstapel schieben und erzwingen? –
Ja, genau, außer wie du es gesagt hast: du musst es * als * präsentieren, was früher Modal View-Controller genannt wurde, * drücke * es nicht auf einen Navigations-Stack. Ein dargestellter View-Controller kann eine Rotation erzwingen. Ein View-Controller, der auf einen Navigations-Stack geschoben wird, kann nicht; Die App kann dynamisch entscheiden, wie sie reagieren soll, wenn der * Benutzer das Gerät dreht *, aber das bloße Drücken des View-Controllers auf den Navigationsstapel führt nicht zum Rotieren der App-Oberfläche. – matt
Wissen Sie zufällig, ob es eine manuelle Möglichkeit gibt, den View Controller nach der Darstellung zu drehen? Wie anstelle des Benutzers, um es zu drehen, ihm zu sagen, sich selbst zu drehen? –