Bitte, hilf mir. Ich habe Methoden:
%Vor%aber wenn ich diese getCurrentOrientation aufrufen, werfen viewDidLoad
%Vor%NSLog ist leer. Was ist los mit dir ? Ich versuche es auch
%Vor%aber diese varint auch leer.
Ich muss wissen, in welchem ORIENTATION Benutzer APP!
startetBitte geben Sie mir einen Rat.
Ihr Code ist absolut korrekt und es gibt kein Problem.
%Vor%Diese Anweisung funktioniert nur in Originalgeräten.
Sie möchten jedoch den Simulator einchecken, den Sie als
überprüfen können %Vor%Aktualisierung:
Ich habe für Sie sowohl im Gerät als auch im Simulator getestet. Anfangs würde das Portrait nur in viewDidLoad angezeigt, obwohl das Gerät im Querformat bleibt. Der erste Controller wird sich mit der Methode shouldAutoRotate befassen.
Sie sollten bei der ersten Orientierung nicht auf viewDidLoad
angewiesen sein. Sie sollten zur genauen Orientierung zunächst auf die sentAutorotate-Methode angewiesen sein.
Wenn die App zum ersten Mal geladen wird, ist UIDevice.current.orientation nicht gültig. Aber UIApplication.shared.statusBarOrientation ist. UIDevice.current.orientation ist jedoch im Allgemeinen der bessere Weg, um die Ausrichtung zu überprüfen. Also, diese Methode wird alle Situationen behandeln
%Vor%Wenn Sie nur die Ausrichtung der App überprüfen möchten, verwenden Sie den folgenden Code:
%Vor%oder
%Vor% Wird Ihr viewDidLoad
aufgerufen? Hast du dort einen Haltepunkt gesetzt?
Was ist mit dem Ausdruck von NSLog(@"%i", [[UIDevice currentDevice] orientation])
?
Die Dokumentation besagt, dass die Ausrichtung immer 0 zurückgibt, wenn Sie beginGeneratingDeviceOrientationNotifications
nicht aufgerufen haben. Vielleicht ist es nicht genug, wenn man es kurz vor dem Versuch, sich zu orientieren, anruft. Versuchen Sie, den Aufruf in application:didFinishLaunchingWithOptions:
zu verschieben.
Am besten ist es jedoch, die vom Controller bereitgestellte Ausrichtung zu verwenden - [UIViewController interfaceOrientation]
und den an shouldAutorotateToInterfaceOrientation
übergebenen Parameter.
in swift 3 oder swift 4. Sie können diesen Code in viewDidLoad () verwenden ..
%Vor%