0

ナビゲーション コントローラーにビュー階層が埋め込まれています。ビューが回転すると、子ビュー コントローラでどのメソッドが呼び出されますか? このコードは、ナビゲーション コントローラーの子ビューの 1 つにあり、これらのメソッドはどちらも呼び出されません!

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
    NSLog(@"1");
    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
        return true;
    }else{
        if(toInterfaceOrientation == UIInterfaceOrientationPortrait){
            return YES;
        }
    }

    return false;

}

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
    [self loadCorrectElements];
    NSLog(@"2");
}

ありがとう!

4

1 に答える 1

0

両方取得する必要があります

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
                                duration:(NSTimeInterval)duration

そのため、セットアップに何か問題があります。

明確にするために、「子ビュー」について言及しているように、最上位の UIViewController を意味しますか? これは、ローテーション中にこれらのメッセージをインターセプトするものです。

于 2013-01-12T19:03:21.503 に答える