を回転さから他のビューを防ぎます。しかし、私のMainViewControllerからmodalViewControllerを提示して回転させると、NSLogは表示されなくなり、MainViewControllerはデバイスが回転したことを知らないので、modalViewが終了したときにインターフェイスが回転に対して調整されません。モーダルビューは、私は私のMainViewControllerでこのメソッドを持って
なぜモーダルビューで親が回転更新を受け取ることができないのでしょうか?これは典型的なことですか、またはセットアップに何か問題があるはずですか?
確かに、私は[mainViewController.view addSubview:modalView.view]
を介してサブビューとしてmodalViewControllerを提示しようとしました。ローテーションの更新が適切に反映されました。 [mainViewController presentModalViewController:modalViewController];
を実行しても更新が反映されない場合のみです。両方のビューでは
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Overriden to allow any orientation.
return YES;
}
:
Modal View Controllerがこのメソッド呼び出しを防止する理由を正確にはわかりませんが、私自身はこの問題に不満を抱いていました。だから私はなぜそうでないのか分かりませんが、周りを回る方法は分かります。 あなたのコードのどこかで、[self.view presentModalViewController:viewController]という行を使用しますか? 代わりに、[self.view addSubview:viewController.view]を実行してください(これは私の目の前にコードがないと思います) 基本的にはモーダルではなく現在のビューにビューを追加しますすべてのwill/did/rotateメソッドが呼び出されるはずです! –
何の代わりに私の更新をチェックしてください...あなたがそれを得ているのかもしれません。しかし、私はそれをサブビューにしたくありません。私はこれをモーダルビューとして機能させたいと思っています。 – Snowman
申し訳ありません...トリガーハッピーエンターキー! :D今編集! –