私はUIActionSheetベースのクラスを持っています。このクラスによって作成されたActionSheetsは、デバイス方向の回転が検出された場合に消失するように設計されています。だから、iPhone - 回転検出が敏感すぎる
このクラスが始まるとき、私は
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];
とdidRotate上を持っている:私は離れてActionSheetを送信している、閉じています。
わずかな問題はこれだけです。振動があれば、シートを閉じることができます。もう少し強く叩いても、ポップアップは消えるだろう。 actionSheetの中に入力したとしても。
私は加速度計またはcoremotionを有効にしていません。
手がかりはありますか?
おかげ
EDIT
私はこの問題は、当初の向きがUIDeviceOrientationUnknownとして報告されていることで、不安はそれが正しい方向を報告しますことを発見しました。 UIDeviceOrientationUnknownが正しい方向と異なるため、これは回転の変化と見なされます。
今私は運命です。
おそらくinterfaceOrientationを代わりに使用しますか?それはデバイスの方向よりもはるかに "跳ねる"ように思えます。 –
ありがとうございますが、私は通知のものが必要です。通知を使用してそれをどうやって行うのですか?私はそれを見ていない。 – SpaceDog