私のアプリでは、ユーザーがデバイスを振ると画像が表示されます。横向きモードと縦向きモードで異なる画像があります。iPhone の向きが縦または横の場合、問題なく動作します。ただし、UIDeviceOrientationFaceDown
またはの場合UIDeviceOrientationFaceUp
、ビューはこの方向で引き続き表示されるため、イメージは最後に使用された方向に依存する必要があります。
デバイスの最後の向きを取得するにはどうすればよいですか?
私のアプリでは、ユーザーがデバイスを振ると画像が表示されます。横向きモードと縦向きモードで異なる画像があります。iPhone の向きが縦または横の場合、問題なく動作します。ただし、UIDeviceOrientationFaceDown
またはの場合UIDeviceOrientationFaceUp
、ビューはこの方向で引き続き表示されるため、イメージは最後に使用された方向に依存する必要があります。
デバイスの最後の向きを取得するにはどうすればよいですか?
私はそれを理解しました!ステータスバーの向きを確認する必要がありました!
[UIApplication sharedApplication].statusBarOrientation
クラスの shouldAutoRotate メソッドでは、interfaceOrientation というパラメーターを渡します。このメソッドは、デバイスの向きが変わるたびに呼び出されます。これを変数として保存し、後でそれを調べて最後の向きを決定することができます。
1 = standard portrait
2 = upsidedown
3 = button right landscape
4 = button left landscape.
また、self.interfaceOrientation を呼び出すと、現在のデバイスの向きがわかります。
これにより、少なくとも正しい方向に進むことができます。