presentViewController nicht unterstützt Ausrichtung in iOS 6
Ich bin mit diesem code
if ([self respondsToSelector:@selector(presentViewController:animated:completion:)])
{
[self presentViewController:navigationControllerCustom animated:YES completion:nil];
}
else
{
[self presentModalViewController:navigationControllerCustom animated:YES];
}
Meine Anwendung hat zwei Ausrichtung Hochformat und Querformat auf den Kopf. Dieser code funktioniert auch mit iOS 5.1, aber die Orientierung funktioniert nicht auf iOS 6
Außerdem habe ich diesen code auf meine navigationControllerCustom
Klasse
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}
-(NSUInteger)supportedInterfaceOrientations
{
return (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown);
}
Mir bitte helfen, dieses Problem zu lösen.
Vielen Dank im Voraus.
InformationsquelleAutor der Frage P.J | 2012-09-24
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie diese in Ihre Anwendung zu delegieren:
Außerdem sicher, dass die View-Controller - beide haben den folgenden, funktioniert gut für mich.
Die Dokumentation sagt auch, dass
UINavigationController's
keine Abfrage Ihrer top-View-Controller für die unterstützten Ausrichtungen, obwohl ein Apple-Ingenieur über die Entwickler-Foren haben das so sagen... es scheint, dass es nicht. Daher sollten Sie eine Kategorie fürUINavigationController
das ist der, den ich verwenden:Weitere Informationen wie Anz. autom. funktioniert auf iOS 6 schauen Sie sich diese Antwort
InformationsquelleAutor der Antwort Daniel
Haben Sie vergessen:
InformationsquelleAutor der Antwort rocky
Kopiere Sie einfach das snippet oben dein code
InformationsquelleAutor der Antwort bioffe
Wenn Sie planen, aktivieren oder deaktivieren Sie die Drehung für alle view-Controller, die Sie nicht brauchen, um eine Unterklasse UINavigationController.
Stattdessen:
in Ihrem AppDelegate.
Wenn Sie planen, Unterstützung in allen Lagen, in Ihrer app, aber unterschiedliche Ausrichtungen auf PARENT-View-Controller (UINavigationController-stack zum Beispiel), die Sie verwenden sollten
in Kombination mit einer der folgenden Methoden in Ihrer Parent-View-Controller.
und
Aber wenn Sie planen, zur unterschiedlichen Ausrichtung-Einstellungen in verschiedenen KINDER ViewControllers in der gleichen navigation-stack (wie mich), die Sie benötigen, um den aktuellen ViewController in der navigation stack.
Habe ich Folgendes in meine UINavigationController Unterklasse:
Da Sie keine Kontrolle mehr über Kinder ViewControllers die Einstellungen für die Drehung der vorgestellten view-controller müssen Sie irgendwie abzufangen, was view-controller ist derzeit in der navigation stack. Also das ist, was ich getan habe :). Hoffe, das hilft !
InformationsquelleAutor der Antwort Razvan
Unterklasse UINavigationController und überschreiben Sie die shouldAutorotate und supportedInterfaceOrientations wie diese:
Und jetzt können Sie die Kontrolle Ihrer Orientierung ist auf jeder ViewController. Nur das überschreiben der beiden Methoden in jedem ViewController.
InformationsquelleAutor der Antwort Vlad Bogdan