1

UIVewController と回転に問題がありましたが、これは助けを借りて行うことができました。

基本的に、縦向きから横向きに回転できるビューがあります。横向きに回転すると、縦向きのビューとは別のビュー (グラフ) が表示されます...これは、UITableView に基づく入力ビューです。これはすべてうまくいきます。

現在、縦向きビュー (縦向きビューのみ) には「電子メール」ボタンもあり、これを押すと MFMailComposeViewController が作成および表示されるため、ユーザーはデータを電子メールで送信できます。

これは問題なく動作しますが、ユーザーが MFMailComposeViewController ビューで iPhone を横向きに回転させた場合、基になるビューは回転の通知を受け取らないため、基になるビューをチャート ビューに変更する必要があります。そのため、ユーザーが横向きのままメール ビューを閉じると、元の「縦向き」の入力ビューが横向きになり、位置がずれて正しく表示されません。

MFMailComposeViewController が表示されているときに元のポートレート ViewController で回転の通知を受け取ることができるので、元のビューが再表示されたときに基本的な変更を加えることができますか? または、MFMailComposeViewController が回転したときに、基になるビューが回転しないようにすることはできますか?

それが理にかなっていることを願っています。アドバイスに感謝します。

4

1 に答える 1

1

親の ViewController に実装-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentationして、UIInterfaceOrientationPortrait に設定してみてください。

MFMailComposeViewController が何をしているかを表示することもできますが、それをサブクラス化して実装-(void)didRotateFromInterfaceOrientation:し、通知またはデリゲートを介して情報を送り返す必要があると思いますが、preferredInterfaceOrientationForPresentation を使用する必要はありません。

お役に立てれば!

于 2012-12-10T16:59:54.590 に答える