Pytanie Jak uzyskać aktualną orientację widoku iPhone'a lub ostatnią orientację urządzenia?


W mojej aplikacji obraz pojawia się, gdy użytkownik potrząsa urządzeniem. Istnieją różne obrazy dla trybu krajobrazowego i portretowego. Jeśli orientacja iPhone'a jest portret lub krajobraz, to działa dobrze. Ale jeśli tak jest UIDeviceOrientationFaceDown lub UIDeviceOrientationFaceUp, obraz powinien zależeć od ostatniej użytej orientacji, ponieważ widok jest nadal wyświetlany dla tej orientacji.

Jak mogę uzyskać ostatnią orientację urządzenia?


9
2017-08-19 14:56


pochodzenie




Odpowiedzi:


Rozgryzłem to! Musiałem sprawdzić orientację paska stanu!

[UIApplication sharedApplication].statusBarOrientation

26
2017-08-19 15:52



bardzo dziękuję :)))) - cV2
Co się stanie, jeśli pasek stanu zostanie ukryty? - Shailesh
Świetny bro Dzięki! - Nikunj Jadav


No cóż, w metodzie shouldAutoRotate klasy przechodzi ona przez parametr o nazwie interfaceOrientation. Ta metoda jest wywoływana w dowolnym momencie, gdy zmienia się orientacja urządzenia. Możesz zapisać to jako zmienną i przyjrzeć się jej w późniejszym czasie, aby określić ostatnią orientację.

 1 = standard portrait
 2 = upsidedown
 3 = button right landscape
 4 = button left landscape. 

Również wywołanie self.interfaceOrientation da ci bieżącą orientację urządzenia.

Mam nadzieję, że to przynajmniej pozwoli ci zacząć w odpowiednim kierunku.


2
2017-08-19 15:08



self.interfaceOrientation daje mi właśnie UIDeviceOrientationFaceDown (Up), więc to nie pomaga. Postaram się dowiedzieć, czy metoda InterfaceOrientation metody shouldAutoRotate została nadpisana, gdy orientacja to FaceUp. Dziękuję Ci! - Knodel