2012-05-31 21 views
5

ストーリーボードとiOS 5.1を使い始めました。私が構築しているアプリケーションは、ルートコントローラーとしてナビゲーションコントローラーを使用し、ランドスケープの方向で使用するように設計されています(これは社内のエンタープライズアプリケーションです)。ストーリーボードを使用しているiOS 5のUIViewは、iPadデバイスの回転でコンテンツを回転させません。

私は正しく表示された1つのビューを作成しました。シミュレータが向きを変えたときに、コンテンツが正しく回転して「右上がり」になっています。

次に、新しいビューを追加しました。その1つはではありません。は全く回転しません。デバイスが回転すると、コンテンツは縦向き(横向き)にとどまります。

私は2つのUIViewControllerとUIViewの設定を調べましたが、それらの間の違いは見えません。私はどこを見なければならない?

答えて

9

まず最初に、ストーリーボードの各UIViewControllerには、それに合わせてクラスが用意されている必要があります。 UIViewControllerから継承する新しいクラスを作成し、ストーリーボードでuiviewcontrollerをクリックし、そのコントローラーの下部で右のボックスをクリックし、クラスインスペクターで、作成した新しいクラスの名前をUIViewControllerに置き換えます。

次に、作成したすべてのビューコントローラクラスで、あなたはすべての彼らの意見がで回転していることを確認する

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

ちょうどEVERYビューコントローラにYESを返すために、このdeleateメソッドを作る方法

を実装していることを確認してください任意の方向。あなたはこれをしましたか?

+1

私はそれを忘れたと信じられません。ストーリーボードの暑さにも驚きました...ありがとう! – Christophe

+0

技術的には、常時シーン用のView Controllerサブクラスを持つ必要はありませんが、通常はそうです。 –

+2

Xcode 4.5を使用していてもiOS 5.xに展開している場合、この方法はUIViewControllerのサブクラスでは自動的に生成されないため(iOS 6.xで廃止されたため)、手動で追加する必要がありますiOS 5.1の下で動作するようにしました。 –

0

これは私にも迷惑をかけました。私のアプリはiPadシミュレータで回転しましたが、実際のiPadでは回転しません。奇妙なほど。私は3つのタブを持つUITabBarControllerを持っていました。タブバーに接続された3つのコントローラーはすべてshouldAutoRotateToInterfaceOrientationメソッドを持っていましたが、そのうち2つ(ナビゲーションコントローラーを介した5つのステップでのドリルスルー後)だけでした。私はそれらのメソッドを追加しました。そして今、それは回転します。

ちょうど私の2¢。

関連する問題