1

シミュレーターまたはデバイスで 4.x の下でシングル ビュー アプリをテストすると、起動時にメイン UIViewController のshouldAutorotateToInterfaceOrientation:メソッドが正確に 3046 回 (デバイス上) または 23777 回 (シミュレーター上) 呼び出されてクラッシュします。...更新しました...

更新:私が持っているメソッドの中で UIInterfaceOrientation currentOrientation = self.interfaceOrientation;

これが原因のようです。これにより、 shouldAutorotateToInterfaceOrientation: が再度呼び出されるため、クラッシュするまで無限ループに陥ります。理由を知っている人はいますか?iOS 5以降ではこれを行いません

4

1 に答える 1

1

方向変更イベントで処理を行う必要がある場合は、代わりにこのメソッドを使用してください。

 - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
 {
    [self HandleOrientationChange:toInterfaceOrientation];
 }

 -(void) HandleOrientationChange:(UIInterfaceOrientation) orientation
  {}
于 2012-10-03T08:00:10.980 に答える