2

デバイスが机の上にあるとき、つまり UIDeviceOrientationFaceUp の横向きと縦向きを区別する方法はありますか? ユーザーがデバイスを持っている方法に基づいて切り替える 2 つの異なる xib ファイルがあります。しかし、デバイスを横向きに保持してからデバイスを下に置くと、問題が発生します。デバイスは横向きのままですが、縦向きの xib ファイルが読み込まれます。私のコーディングで UIDeviceOrientationFaceUp を横向きに結合した場合、問題は逆になります。デバイスがまだ縦向きのときに横向きビューが表示されます。

デバイスがまだ横向きか縦向きかを判断できる方法はありますか? フレーム幅を確認してみましたが、デバイスが横向きに平らに座っていても 768 であると表示されます。また、デバイスが平らになったときに方向を強制することはできません。それが App Store での拒否への道だと聞いています。

4

2 に答える 2

1

それを確認する方法は1つあります。

UIDeviceOrientation deviceOrientation = [[UIDevice currentDevice] orientation]; UIInterfaceOrientation statusBarOrientation =[UIApplication sharedApplication].statusBarOrientation; 最初のものを使用して、デバイスが上向きになっているかどうかを確認し、2 番目のものを使用して、デバイスが縦向きか横向きかを確認します。

于 2015-12-12T09:06:36.293 に答える
1

そんなことはできません。加速度計は、ユーザーが電話をテーブルに置いたときに、電話のどちら側に座っているかを判断できません。ジャイロスコープ (およびコンパス) を使用して軸の周りの回転を測定できますが、残念ながらユーザーがどこにいるかはわかりません。

于 2012-06-28T14:12:50.527 に答える