2012-02-11 6 views
1

私のアプリを走らせている間に、回転の通知が送信され、アプリがクラッシュすることを示すエラーが表示されます。クラッシュを止めることができるかどうかを確認するために、すべてのローテーションイベントが送信されないようにする方法はありますか?また、これらのイベントをどのように扱うべきかの概要もよくわかります。私はそれらをコントローラーまたはすべてのビューで個別に処理する必要がありますか?その瞬間、私は肖像画をロックするのがとても嬉しいです。デバイスの向きを停止する

[[UIDevice currentDevice] endGenerating Device OrientationNotifications]を呼び出してみました。 しかし、私はまだデバイスを取得していますオリエンテーションDidChangeイベントインスタンスに送信されたセレクタが認識されない

答えて

1

回転通知を停止することはできません。

通知があなたのクラッシュの原因になっていない場合は、そこにコードがいくつかある必要があります。

コンソールからの正確なエラーと、発生しているビューコントローラのコードをペーストします。私の推測では、おそらくそれを実現することなく、動作しない回転ハンドラメソッドを書いたことになります。

あなたはその後、他のすべてのビューコントローラのスーパークラスとしてそれを使用して、このメソッドを持つビューコントローラの基本クラスを作成することにより、ポートレートにロックすることができます:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
{ 
    return toInterfaceOrientation == UIInterfaceOrientationPortrait; 
} 
+0

おかげでニック、私は何で戻って探しています私は最近変更され、MBProgressHUDを動作させるために一時的なUIを追加しました。使用後にこのビューを削除していますが、まだ通知が送信されているようです(私はコードを打ち切ってクラッシュしませんでした。 – Ian

+0

回転を使用していない場合は、NSNotificationハンドラを取り除く必要があります。 –

+0

ハブにコメントをして、すべてのオリエンテーションコールバックとコメントアウトしました。私はまだクラッシュする。私はそれがHUDの実装に書いたことだと推測しています。ありがとう。 – Ian

関連する問題