iphone aktuelle Ausrichtung des Geräts in ViewDidLoad

8

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!

startet

Bitte geben Sie mir einen Rat.

    
Bot 19.03.2012, 12:38
quelle

6 Antworten

15

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.

    
Janak Nirmal 19.03.2012, 13:03
quelle
2

Versuchen Sie, Ihre shouldAutorotateMethod durch folgende Option zu ersetzen: shouldAutorotate

%Vor%

Dies kann Ihnen helfen.

    
Kuldeep 19.03.2012 12:49
quelle
2

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%     
Harris 11.02.2017 03:52
quelle
1

Wenn Sie nur die Ausrichtung der App überprüfen möchten, verwenden Sie den folgenden Code:

%Vor%

oder

%Vor%     
Chetan Bhalara 19.03.2012 12:56
quelle
1

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.

    
Sulthan 19.03.2012 12:57
quelle
0

in swift 3 oder swift 4. Sie können diesen Code in viewDidLoad () verwenden ..

%Vor%     
Bilal Şimşek 22.03.2018 22:29
quelle

Tags und Links