2010-08-19 3 views
9

내 앱에서 사용자가 기기를 흔들면 이미지가 나타납니다. 가로 및 세로 모드에는 서로 다른 이미지가 있습니다. iPhone의 방향이 인 경우 가로 또는 세로가 인 경우 제대로 작동합니다. 그러나 UIDeviceOrientationFaceDown 또는 UIDeviceOrientationFaceUp 인 경우 이미지는 마지막으로 사용한 방향에 따라 달라집니다.보기가이 방향으로 계속 표시되기 때문입니다.iPhone보기의 현재 방향이나 장치의 마지막 방향을 얻는 방법은 무엇입니까?

기기의 마지막 방향을 어떻게 얻을 수 있습니까?

답변

26

나는 그것을 알아 냈다! 상태 표시 줄의 방향을 확인해야했습니다!

[UIApplication sharedApplication].statusBarOrientation 
+0

정말 고맙습니다 :)))) – cV2

+2

상태 표시 줄이 숨겨져 있다면 어떨까요? – Shailesh

+0

위대한 형제 감사합니다 !!! –

2

클래스의 shouldAutoRotate 메소드에서 interfaceOrientation이라는 매개 변수로 전달됩니다. 이 메서드는 장치 방향이 변경 될 때마다 호출됩니다. 이것을 변수로 저장하고 나중에 보면서 마지막 방향을 결정할 수 있습니다.

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

또한 self.interfaceOrientation을 호출하면 현재 장치 방향을 알 수 있습니다.

희망이 있으시면 적어도 올바른 방향으로 시작하십시오.

+0

self.interfaceOrientation은 UIDeviceOrientationFaceDown (Up) 만 제공하므로 도움이되지 않습니다. 방향이 FaceUp 인 경우 shouldAutoRotate 메서드의 interfaceOrientation을 덮어 쓰는지 확인하려고합니다. 고맙습니다! – Knodel

관련 문제