答えて
加速度計がz軸の周りの回転を検出できないため、これは不可能です。 iPhone 4では、おそらくジャイロスコープをCoreMotionを使って使うことができますが、にはAPIがありません。また、ユーザーがデバイスの視点からどの方向にいるかを検出できないため、開始位置を定義する必要があります。
UIDeviceOrientation
は、物理デバイスの向きのみを示します。画面が縦向きと横向きかどうかに応じて、UIInterfaceOrientation
(UIApplication
)を使用する方法を使用して決定する必要があります。
とUIInterfaceOrientationIsPortrait()
には、UIInterfaceOrientation
も使用できます。
誰もこれに簡単な解決策を提案できますか? –
問題は何ですか...? –
例を次に示します。UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]) – tomwhipple
UIDeviceOrientationFaceUpとUIDeviceOrientationFaceDownは、デバイスがテーブルのように平らになっている場合の向きです。この場合、ポートレートと風景は意味をなさない。
しかし、ポートレートモードとランドスケープモードで異なるレイアウトのアクションシートを表示するとします。ユーザーがDeviceOrientation FaceUpまたはFaceDownを使用しているときに、正しくレンダリングされるようにするにはどうすればよいですか? –
誰でもデバイスオリエンテーションに基づいてUIActionsheetフレームを自動調整する方法を教えていただけますか? –
自分で方向を調整する場合は、横または縦のいずれかを選択します。私は通常、FaceUpとFace downの両方を無視します。FaceUpのFaceUpに行くと、最後の向き(横向きまたは縦向き)がそのまま残ります。 – fsaint
私はこれが今の古い質問であることを認識していますが、答えを見てみると誰もが過度にぺだんでいます。他の誰かがこの問題を抱えている場合:
あなたの問題に対する答えは、受け入れられた方向のいずれかである二次変数を保持することです。
デバイスオリエンテーションの通知が来たら、受信方向を見て、受け入れ可能なものがあるかどうかを確認してください(ポートレート/ランドスケープはフェイスアップ/フェイスダウンではありません)。次にセカンダリ変数を更新してから、あなたの二次変数をオリエンテーションソースとして使用します。
これは、「最後に知られた良好な」向きに向きを固定する効果があります。
オリエンテーションから見つける方法はありません。私は回避策を見つけました。
CGRect screenBounds = [[UIScreen mainScreen]bounds];
if(screenBounds.size.width > screenBounds.size.height)
{
// This means FaceUP/Down is in Landscape
}
else
{
// This means FaceUp/Down is in Portrait
}
- 1. UIDeviceモデルとlocalizedModel
- 2. Mac OS X用のUIDeviceクラス?
- 3. UIDevice currentDeviceモデルの可能な値
- 4. MPMoviePlayerオリエンテーション
- 5. WPFオリエンテーション
- 6. iPadオリエンテーション
- 7. カスタムビデオ録画オリエンテーション
- 8. オリエンテーションの問題
- 9. iPhoneアプリケーションのオリエンテーション
- 10. オリエンテーションの問題
- 11. onBackPressed()オリエンテーション問題
- 12. Xcodeストーリーボードモーダルトランジションとオリエンテーション
- 13. TableLayoutオリエンテーション問題
- 14. Androidオリエンテーション変更
- 15. iPhoneでのオリエンテーション?
- 16. オリエンテーションの変更
- 17. UIViewオリエンテーション風景
- 18. Android:オリエンテーションの問題
- 19. Android:オリエンテーション変更アニメーション
- 20. iPadオリエンテーションの問題
- 21. ノキアN97オリエンテーションにrealted
- 22. UITabbarオリエンテーションの問題
- 23. UIInterfaceオリエンテーションの問題
- 24. オリエンテーション変更 - 背景
- 25. GameCenterオリエンテーションの問題
- 26. オリエンテーションを無効にしますがオリエンテーションを検出します
- 27. UIDeviceの向きが正しい値を返さない
- 28. [UIDevice cuurentDevice]。appDidBecomeActiveコールバックの以前の値を返す。
- 29. 到達可能性とUIDevice-到達可能性
- 30. 通知用にiOS5のUIDevice uniqueIdentifierを使用する
デバイスの「顔」が地球表面に対して垂直に配置されている場合にのみ、ポートレートおよび風景の向きが意味を持ちます。 –