2011-07-08 11 views
1

まあ、私は自分のアプリケーションのすべてのサブビューを制御するビューコントローラを持っています(欲しい)。 initWithNibName:が呼び出されると、最初のビューが正常に表示されます。そのビューのボタンを押すと- (IBAction)pause:(id)senderが呼び出されます。これには、self.view = pauseViewpauseViewUIViewであり、IBOutletで定義されています。そのUIViewが表示されているときは、View Controllerのサイズ変更機能が正しく定義されていて、iphoneシミュレータが正しい向きに回転していても、Portrait Orientationが表示されます(Interface Builderでは向きもポートレートです)。言い換えれば、すべてがユーザーの視点から横になっています。これをどうやって解決するのですか?ポーズビューは、ビューコントローラから回転イベントを受信して​​いないUIViewが間違った向きで初期化されています

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

答えて

1

+0

。私は1つの質問があります:ビューのプロパティだけが回転イベントを受け取ると言っていますが、「self.view = pauseView」を実行すると、self.viewがpauseViewをポイントしていないのでしょうか?この場合、新しいself.view(現在のPauseView)は回転イベントを受け取りますか? – Relish

+0

私は本当に素晴らしい解決策を見つけました: '[playView addSubview:pauseView]' – Relish

1

は自転可能にしてみてください。 ビューを表示すると、これらのイベントが発生します。 pauseViewをサブビューとしてメインビューに表示しますが、を非表示に設定します。これをXIBファイルで行い、pauseViewをビューにドラッグアンドドロップし、隠しプロパティを見つけてオンに設定する必要があります。

にあなたのボタンを変更し

:これは非常に便利な洞察力である

- (IBAction)pause:(id)sender { 
    [pauseView setHidden:NO]; 
} 
関連する問題