5

私は iOS 5 を対象としたプロジェクトに取り組んでいます。私は次のようなオリエンテーション方法を持っています。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{    
  NSLog(@" My Orientation");

  return YES;
}

ただし、アプリを起動すると、ログ メッセージがコンソールに 2 回表示されます。つまり、MyOrientationが 2 回表示されます。私は自分のアプリをシミュレーターでテストしていますが、これはorientation、向きを変更することさえせずに、起動時に発生しています。つまり、

(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

毎回2回呼び出されていますが、これは正しい動作ではないと思います.Anyヘルプは

感謝。

4

2 に答える 2

1

これはあなたがしたことではありません。Apple は、デバイスをこれに何度も反応させました。それは、アプリが何をしているかに依存します。おそらく、ビューの読み込み、または他の何かが原因で再び起動します。しかし、これは本当に問題でしょうか?ほとんどの場合、そうではありません (または、少なくともそうすべきではありません)。

それが本当に問題なら、おそらく誰かが詳しく説明する必要があります。ただし、少なくとも私の経験からすると、これは一般的な動作です。私はこれを解決する方法を知りません。

これが本当に気になり、修正する方法がない場合は、Apple にバグを報告できます。

于 2012-12-19T14:10:49.653 に答える
0

また、shouldAutoRotateToInterfaceOrientationが常に2回呼び出されるというエクスペリエンスを作成しました。興味深い詳細:私の経験では、最初の呼び出しでのself.view.frameは(元の場所からの)「古い」値を保持し、2番目の呼び出しでの「新しい」値(元の場所)を保持します。

于 2013-03-08T13:23:31.973 に答える