0

私はios SDK 5を使用しています

私はこのように親View ControllerからView Controllerをプッシュしています

DetailsViewController *detailController = [[DetailsViewController alloc] initWithNibName:@"DetailsViewController" bundle:nil] ;
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft animated:YES];
[self.navigationController pushViewController:detailController animated:YES];

新しいコントローラーをランドスケープモードで開きたいので、親ビューコントローラーはポートレイトモードになっているので、に設定しました

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

そして私の子View Controllerで私はそれをに設定しました

   - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
         return interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight;
    }

しかし、それでも私の子View Controllerが開くと、横向きモードに回転しますが、スクロールビューやそのサブビューなどの内部ビューは縦長モードのままです。私は多くの同様の質問を読み、それらを試しましたが、どれも私のために働いていません.viewcontrollerですべてのビューを回転させる方法について正しい方向に私を指摘してください

ありがとう

4

1 に答える 1

0

メソッドを置き換えるだけで、

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
     return interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight;
}

に、

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
     return  UIInterfaceOrientationIsPortrait(interfaceOrientation);
}
于 2012-12-11T07:01:59.783 に答える