3

iPadの向きがロックされたときに通知を受け取る方法はありますか?オリエンテーションロックがオンまたはオフに設定されている場合、receivedRotate:通知が送信されますが、通常の回転とロックの「回転」を区別できる方法が必要です。

問題は、回転が変化したときにビュー内で物を回転させていることです。ロックがアクティブになると、iPadはUIInterfaceOrientationPortraitを使用してreceivedRotate:を送信します。

UIDeviceでisOrientationLockedのようなものを探しましたが、成功しませんでした。

これに関する手がかりをありがとう。

編集:iPadの向きロックをオンにすると、何らかの理由で回転が縦向きに変更されたという通知が送信されます。これにより、要素は方向を変えると回転するため、要素が回転します。これは私が防ぎたいことです。

EDIT2:はい、iPadは縦向きの通知を送信するべきではありませんが、送信します。このポートレート通知の後、iPadは通知の送信を停止します。これが本来の方法です。邪魔になるのは最初の通知です。

オリエンテーションロックのロック機能を使用したいので、加速度計を使用できません。iPadがいつロックされたかを知る方法があれば、加速度計を使うかもしれません。

EDIT3:receivedRotate:すべての方向に対してUIInterfaceOrientationPortraitで呼び出されます。

4

2 に答える 2

1

どうやらそれは今働いています。

最近、最新のXCodeとiPhone SDKをインストールした後、古いプロジェクトに戻りましたが、ロックがオンになっているとUIInterfaceOrientationPortraitを受信しなくなりました。私のコードはまったく変更されていないので、Appleである必要があります。

于 2010-07-19T14:10:39.940 に答える
0

明確にするために、ローテーション通知を使用してローテーションを決定しているだけですか?方向を取得するために加速度計などからデータを取得していませんか?

もう1つのことは、ロックはまさに​​それであり、ロックです。横向きの場合は、ポートレートモードに強制されないようにする必要があります。それはあなたを風景の中に保つべきです。

ですから、あなたがしていることから推測すると、インターフェースの基礎として通知を使用するのではなく、加速度計のデータを直接使用することをお勧めします。

新しく造られたiPadの所有者として、私はあなたが何をしているのか不思議に思うかもしれません。なぜなら、私の物理的な向きがソファに横たわるような「通常」ではないときに、ロックを私が望む方向に保つ方法だと思っているからです。

于 2010-04-21T17:02:35.837 に答える