2011-06-27 6 views
0

私はviewcontrollerを持っています。これは風景モードでなければならない別のVCをプッシュしていますが、プッシュすると風景にオート回転しません。まだ肖像画で。Iphone development viewcontroller肖像画を景観にしないオートローテーション

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 

    if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) { 
     return YES; 
    } 

    return NO; 
} 

vcをポップして最初のコントローラに戻すと、すべてが完璧ですが、ポートレートモードでのみ表示されます。

携帯電話/エミュレータを回転させて2番目のVCを回転させてから、自動回転風景に固定することができます。また、ポップアップ時に完璧、ポートレートモードに戻ります。

したがって、インタフェースをプログラマチックに横向きに回転する方法はありますか。試してみました

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO]; 

しかし、大成功はありません。ステータスバーが表示され、ポップ時に横になってしまいます。

答えて

1

使用これはあなたのviewDidLoad方法では、それは私が手動ですべてのビューのためにステータスバーを設定する必要があり、このアプローチでは

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight; 
CGAffineTransform rotate = CGAffineTransformMakeRotation(M_PI_2); 
[self.view setTransform:rotate]; 

CGRect contentRect = CGRectMake(0, 0, 480, 320); 
self.view.frame = contentRect; 
[self.view setCenter:CGPointMake(160.0f, 240.0f)]; 
+0

を動作するはず?上で述べたように、この解決策はvcをポップするときにステータスバーをポートレートに戻すことはありません。 – Max

+0

いいえ、ビューをポップしているときは、ステータスバーを手動でポートレートに戻す必要があります。 – Saphrosit

+0

ビューが完成したら、左側に1〜3ピクセルのような小さなスペースができます。 IBでフルスクリーンイメージビューをレイアウトしてください。それを取り除くためにとにかくありますか? – Max

関連する問題