1

私のrootViewControllerで、shouldAutorotateToInterfaceOrientationこのようなメソッドを再実装しました。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    switch (toInterfaceOrientation) {
        case UIInterfaceOrientationPortrait:
            NSLog(@"Orientation - Portrait");
            break;
        case UIInterfaceOrientationLandscapeLeft:          
            NSLog(@"Orientation - Left");
            break;
        case UIInterfaceOrientationLandscapeRight:
            NSLog(@"Orientation - Right");
            break;
        case UIInterfaceOrientationPortraitUpsideDown:
            NSLog(@"Orientation - UpsideDown");
            break;
        default:
            break;
    }
    return YES;
}

デバイスを回転させると、このメソッドはLandscapeRight、LandscapeLeft、UpsideDownに対して呼び出されますが、Portrait方向に対しては呼び出されません。

起動時、ビューはポートレートモードであり、このメソッドはUIInterfaceOrientationPortraitで呼び出されます。しかし、デバイスを回転させると、このメソッドはこの方向に対してのみ呼び出されるわけではありません。

4

1 に答える 1

0

shouldAutorotateToInterfaceOrientation通常、呼び出し元にアプリがサポートする方向(ORされた値またはすべての場合はYES)を通知するために1回だけ呼び出されます。willRotateToInterfaceOrientation:duration:新しい向きを表示する前に、向きを確認したり、いくつかの再配置を行ったりすることをお探しの場合があります。

于 2012-08-09T13:04:21.267 に答える